【问题标题】:How do I add array items to object properties如何将数组项添加到对象属性
【发布时间】:2012-09-14 12:26:30
【问题描述】:

我想做以下事情:

// an object
var object = {
    one: null,
    two: null,
    three: null
};

// an array
var array = ['this is one', 'this is two', 'this is three'];

我现在想将它们合并在一起,所以我得到了;

var merged = {
    one: 'this is one',
    two: 'this is two',
    three: 'this is three'
};

我不想只使用纯 javascript (ECMA5) 的任何第三个库。

那么诀窍是什么?

问候, 博多

【问题讨论】:

  • 你的问题非常不清楚,请试着解释一下你到底想做什么。
  • 您想在打印时查看所有属性吗?你用什么命令来打印?
  • +1 给@Jeroen。 “平行”是什么意思?
  • 你能告诉我们参数是什么吗?
  • 根据定义,对象中键的顺序是未定义的,因此这至少在某些方面会很麻烦。还有其他方法可以采购您的配对吗?

标签: javascript arrays object for-loop


【解决方案1】:

试试这个:

// an object 
var object = {
    one: null,
    two: null,
    three: null
};

// an array 
var array = ['this is one', 'this is two', 'this is three'];

function merge(arraysrc, array2dest) {

    var x, i = 0;

    var merged = [];

    for (x in array2dest) {
        var obj = {};
        obj[x] = arraysrc[i++];
        merged.push(obj);
    }
    return merged;
}

var a = merge(array, object);

alert(JSON.stringify(a));​

http://jsfiddle.net/6mQYN/

【讨论】:

  • 结果可能无法预测,对象键顺序未定义。
  • 这只是他如何做到这一点的一个例子。订单,长度要处理
猜你喜欢
  • 2021-03-22
  • 2015-03-06
  • 2019-08-21
  • 2015-11-15
  • 2020-08-09
  • 2021-05-27
  • 2021-03-15
  • 1970-01-01
相关资源
最近更新 更多