代码之家  ›  专栏  ›  技术社区  ›  Mark

为什么push()无效?

  •  0
  • Mark  · 技术社区  · 6 年前

    我正在编辑一个json文件节点.JS,但我被困在这一部分:

     var filterlist = require('./censor.json');
            var fs = require('fs');
            var addWord = req.body.addBlacklist;
            addWord = addWord.trim();
            addWord = addWord.toLowerCase();
            var findWord = false;
            for(var i = 0; i < filterlist.Words.length; i++) {
                if(filterlist.Words[i] == addWord) {
                    findWord = true;
                }
            }
            if(findWord == false) {
                filterlist.Words.push(addWord);
                ...
    

    即使push()是一个函数,我得到的只是

    TypeError: filterlist.Words.push is not a function

    {"Words":{},"Phrases":{},"Whitelist":{}}

    我不知道为什么。有人能告诉我我做错了什么吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Allen    6 年前

    改变 {"Words":{} {"Words":[] ,并根据需要更新json的其他条目。

        2
  •  0
  •   Vans    6 年前
    {"Words":{},"Phrases":{},"Whitelist":{}}
    

    有了这个JSON,单词将被解析为一个对象,而不是数组。按照提议,改为:

    {"Words":[],"Phrases":{},"Whitelist":{}}