如果我有阵列:
my_array = [{a:3,b:4,c:7},{a:5,b:8,c:6}]
property_names = ["a","c"]
Run Code Online (Sandbox Code Playgroud)
如何使用property_names数组对my_array获取以下输出?:
subset_array = [[3,7],[5,6]]
Run Code Online (Sandbox Code Playgroud)
var my_array = [{a:3,b:4,c:7}, {a:5,b:8,c:6}];
var keys = ['a', 'c'];
my_array.map(function(d){
return keys.map(function(k) {
return d[k];
});
});
Run Code Online (Sandbox Code Playgroud)
这会给你[[3, 7], [5, 6]],似乎正是你想要的.
[过时的初步答案; 在OP更新他的问题之前]
使用o.a和o.c- 没有魔法参与,没有小猫受到伤害!
您还可以使用[]语法:o['a']和o['c']- 但通常只有在您想要访问动态属性名称(即变量而不是其中的引号字符串[])时才使用它
如果您想要一个包含两个值的数组:
var a_and_c = [o.a, o.c];
Run Code Online (Sandbox Code Playgroud)
现在您可以使用a_and_c[0]和[1]访问这两个值.