Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从具有不同键的数组中按值删除项_Javascript_Json - Fatal编程技术网

Javascript 从具有不同键的数组中按值删除项

Javascript 从具有不同键的数组中按值删除项,javascript,json,Javascript,Json,我试图创建一个函数,从JSON文件中删除一个单词 功能: function removeword(lang,word) { var farr = []; var count = 0; fs.readFile('./dictionary.json', 'utf8', (err, jsonString) => { var items = JSON.parse(jsonString); for (var i = 0; i < items.length; i

我试图创建一个函数,从JSON文件中删除一个单词

功能:

function removeword(lang,word) {

  var farr = [];
  var count = 0;

  fs.readFile('./dictionary.json', 'utf8', (err, jsonString) => {
    var items = JSON.parse(jsonString);

    for (var i = 0; i < items.length; i++) {
      console.log(items[lang][i]);
      if (word === items[lang][i]) {
        items[lang].splice(i, 1);
      }
    }

    console.log(items);

     fs.writeFile("./dictionary.json", JSON.stringify(items), function(err){
           if (err) throw err;
           console.log('Done!');
     });

  });
}
通过调用removeword('pt','macaco'),我希望:

{"en":["moon","crazy"],"pt":["macarrão"],"es":["hola"]}
对于给定的键,您可以对
数组调用
.filter()
,然后传递。对于数组中任何不是值的元素,可以通过返回
true
v!==value
)来保留它,否则,可以删除它(通过返回false):

const items={“en”:[“moon”、“疯狂”],“pt”:[“macaco”、“macarrão”],“es”:[“hola”]};
函数removeword(对象、键、值){
obj[key]=obj[key]。过滤器(v=>v!==value);
}
移除单词(项目“pt”、“macaco”);

console.log(项目);//{“en”:[“moon”,“crazy”],“pt”:[“macarrão”],“es”:[“hola”]}
这是一个对象一个对象没有
。长度
。还有,
lang
从哪里来?@Ivan给定数组,我想传递一个特定的单词并从数组中删除。@NickParsons我做了一些编辑,现在应该更清楚了,可以重新打开吗?@IgorO现在看起来好多了-现在更容易理解了谢谢@Nick Parsons,我使用了第一个解决方案。filter@IgorO不用担心:)
{"en":["moon","crazy"],"pt":["macarrão"],"es":["hola"]}