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