【问题标题】:JavaScript extend arrayJavaScript 扩展数组
【发布时间】:2012-05-21 15:59:29
【问题描述】:

我有一个对象数组。在循环期间,我将不同的属性附加到每个条目。

我的问题 - 我如何确保每个条目都具有每个条目的所有属性?

让我们考虑一下:

var myArray = [{A: 1}, {B: 2}, {C: 3}];

现在我想运行一些优雅的单行代码来将此数组转换为:

[{A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}]

【问题讨论】:

    标签: javascript jquery arrays underscore.js


    【解决方案1】:

    如果没有库,优雅的单线会有点困难。但如果你有某种extend 函数,那么它可能是:

    myArray.map(function(v) { return extend.apply(null, [{}].concat(myArray)); });
    

    extend 函数需要组合多个对象(作为单独的参数传递)。这样的函数在 jQuery 中可以使用 jQuery.extend,underscore.js 也有。

    【讨论】:

    • 谢谢!它可以满足我的需要!
    • @Interstellar_Coder:他们是平等的,但还是不错的。
    • 他们如何相等? jsfiddle.net/Ypd9d我错过了什么吗? extend 是一个 jquery 函数,并没有绑定到 window 对象吗?
    • @Interstellar_Coder:哦,对不起,我以为你指的是$而不是jQuery。我发布了extend,因为每个框架都有自己的函数名。 (也可以将 _.extend 与 underscore.js 一起使用。)
    • 啊好吧,nvm 不知道他在使用underscore.js
    猜你喜欢
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 2018-09-24
    • 2011-06-02
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多