如何访问javascript对象的多个属性?

nac*_*cab -1 javascript

如果我有阵列:

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)

Thi*_*ter 9

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]访问这两个值.

  • 来吧,告诉我们一个魔法!喜欢在同一时间访问`a`和`c`!或者从物体中提取一只小猫. (3认同)