下划线:如何通过带有键的数组返回所有值

Underscore: How to return all values by array with keys

本文关键字:数组 返回 何通过 下划线      更新时间:2023-09-26

我有一个大对象,里面有很多key : value,我有一个数组,里面有这个对象的一些键。

如何通过下划线返回此keys(array)的值?

我试过这样做,但它是扯淡**

_.find(objectwithkeysandvalues ,  function(value){
    return _.intersection(value,arraywithekeys)
});

此任务不需要下划线。相反,您可以使用map函数创建一个新数组,该数组包含旧数组中键指定的值:

var myValues = keys.map(function (key) {
    return myObject[key]
});

您只需要将每个value从您的键数组映射到yourBigObject[value]

在下划线中是这样的

var keys = [ ... ]; // Keys from your big object
var obj = { ... }; // Your big object
var values = _.map(keys, function(value, index) {
    return obj[value];
});

这是一个使用即将推出的EcmaScript 7数组推导的解决方案。

Try it: Array Comprehensions示例。

ES7:

var obj = {
  "key1": 1,
  "key2": 2,
  "key3": 3
}
var arr = ["key1"];
var values = [for(key of arr) obj[key]];
console.log(values);