我有很多key : value
的大对象,我有一些带有来自这个对象的键的数组。
如何通过下划线返回此keys(array)
的值?
我尝试这样的一些,但这是公牛**
_.find(objectwithkeysandvalues , function(value){
return _.intersection(value,arraywithekeys)
});
答案 0 :(得分:2)
此任务不需要Underscore。相反,您可以使用map
函数创建一个新数组,其中包含旧数组中键所指定的值:
var myValues = keys.map(function (key) {
return myObject[key]
});
答案 1 :(得分:0)
您需要从密钥数组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];
});
CodeDomProvider objCodeCompiler = CodeDomProvider.CreateProvider( "CSharp" );
。
在Underscore中,这将是这样的:
CodeDomProvider objCodeCompiler = new Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider();
请参阅map进行试验。
答案 2 :(得分:0)
这是使用即将通过Babel.js提供的即将推出的EcmaScript 7阵列理解的解决方案。
试一试:Array Comprehensions Example。
ES7:
var obj = {
"key1": 1,
"key2": 2,
"key3": 3
}
var arr = ["key1"];
var values = [for(key of arr) obj[key]];
console.log(values);