相关疑难解决方法(0)

从对象数组中,将属性的值提取为数组

我有JavaScript对象数组,具有以下结构:

objArray = [ { foo: 1, bar: 2}, { foo: 3, bar: 4}, { foo: 5, bar: 6} ];
Run Code Online (Sandbox Code Playgroud)

我想提取一个包含key值的数组foo,结果值为[ 1, 3, 5 ].

我用琐碎的方法完成了这个,如下:

function getFields(input, field) {
    var output = [];
    for (var i=0; i < input.length ; ++i)
        output.push(input[i][field]);
    return output;
}

var result = getFields(objArray, "foo"); // returns [ 1, 3, 5 ]
Run Code Online (Sandbox Code Playgroud)

有没有更优雅和高效的方法来实现?


关于建议重复的注意事项,该问题询问如何将对象转换为数组,这个问题询问如何从对象数组中提取单个属性.

javascript javascript-objects

851
推荐指数
19
解决办法
60万
查看次数

ES6映射一个对象数组,以返回带有新键的对象数组

我有一个对象数组:

[
    {
        id: 1,
        name: 'bill'
    },
    {
        id: 2,
        name: 'ted'
    }
]
Run Code Online (Sandbox Code Playgroud)

寻找一个简单的单行返回:

[
    {
        value: 1,
        text: 'bill'
    },
    {
        value: 2,
        text: 'ted'
    }
]
Run Code Online (Sandbox Code Playgroud)

因此,我可以使用正确的键轻松地将它们泵入反应下拉列表中.

我觉得这个简单的解决方案应该可行,但我得到的语法错误无效:

this.props.people.map(person => { value: person.id, text: person.name })
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

117
推荐指数
1
解决办法
13万
查看次数

更改对象数组中的键名?

如何更改对象数组中的键名?

var arrayObj = [{key1:'value1', key2:'value2'},{key1:'value1', key2:'value2'}];
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变每个key1来stroke让我得到:

var arrayObj = [{stroke:'value1', key2:'value2'},{stroke:'value1', key2:'value2'}];
Run Code Online (Sandbox Code Playgroud)

javascript

30
推荐指数
6
解决办法
5万
查看次数