从jQuery中的对象数组中提取单个属性的每个值

js9*_*999 10 javascript jquery

我需要创建一个迭代对象数组的新对象,最初看起来像这样:

startObj = [{'prop': true}, {'prop': false}];
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

endObj = {0: true, 1: false}
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用,$.each但后来我不知道如何从这里开始.任何提示?

$.each([{'prop': true}, {'prop': false}], function (i, o) {
    var newObj;
    // the new object should look like this
    // newObj = {0: true, 1: false}
});
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 12

这是一个单行.

var newObj = $.map(oldObj, function(val) { return val.prop; });
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

如果OP真的想要一个对象(或者更确切地说,不想要一个数组)......

var newObj = $.extend({}, $.map(oldObj, function(val) { return val.prop; }));
Run Code Online (Sandbox Code Playgroud)

jsFiddle.


Jam*_*iec 7

var newObj = {};
$.each([{'prop': true}, {'prop': false}], function (i, o) {
    newObj[i] = o.prop;
});
Run Code Online (Sandbox Code Playgroud)

实例:http://jsfiddle.net/8X48q/