Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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
Node.js 如何根据项目是否为对象的键从另一个列表创建项目列表?(最好是洛达斯)_Node.js_Lodash - Fatal编程技术网

Node.js 如何根据项目是否为对象的键从另一个列表创建项目列表?(最好是洛达斯)

Node.js 如何根据项目是否为对象的键从另一个列表创建项目列表?(最好是洛达斯),node.js,lodash,Node.js,Lodash,如何更雄辩地表达这一点,最好使用Lodash: anObject={ ‘a’:‘苹果’, “b”:“香蕉” }; largeArray=['a','c','d']; 空数组=[]; 对于(var s=0;s

如何更雄辩地表达这一点,最好使用Lodash:

anObject={
‘a’:‘苹果’,
“b”:“香蕉”
};
largeArray=['a','c','d'];
空数组=[];
对于(var s=0;sconsole.log(emptyArray)
您不需要使用lodash。使用内置方法。这将返回一个新数组,而不修改原始数组

let obj = {'a': 'apple', 'b': 'banana'};
let arr = ['a', 'c', 'd'];

let result = arr.filter(item => obj.hasOwnProperty(item));

console.log(result); // ['a']
或者,在ES5中:

var obj = {'a': 'apple', 'b': 'banana'};
var arr = ['a', 'c', 'd'];

var result = arr.filter(function(item) {
  return obj.hasOwnProperty(item);
});

console.log(result); // ['a']
使用和使用lodash:

_.filter(largeArray, _.partial(_.has, anObject));
您可以从
largeArray
anObject
变量中获取来完成此操作

_.intersection(largeArray, _.keys(anObject));
var-anObject={'a':'apple','b':'banana'};
var largeArray=['a','c','d'];
var emptyArray=u0.intersection(largeArray,0.keys(anObject));
控制台日志(emptyArray)