如何将一堆数组转换为单个对象?

时间:2014-06-22 11:20:32

标签: javascript

以下是我正在做的事情:

onClick,抓取详细信息直接子节点并在html上发布。 Status = DONE //这很好用

现在,我正在使用一堆数组来完成这项工作。

node.eachSubnode(function(node) {
                   title[title.length] = node.name; // This is what i want to modify
                   data[data.length] = node.data; // This is what i want to modify
                });

目前他们看起来如何:

title = ['Coffee', 'Tea'];
data = ["Americans", "Britishers"]; // i use a loop to iterate through these arrays and append to html.

这就是我想要的:

var preference = {
title: 'Coffee',
data: 'Americans'
},
{
title: 'Tea',
data: 'Americans
}

我想使用node.eachSubnode循环创建它。

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解正确,但我认为这就是你想要的:

var preferences = [];

node.eachSubnode(function(node) {
    preferences.push({
        title: node.name,
        data: node.data.germ
    });
});

答案 1 :(得分:0)

你不能创建一个看起来完全相同的对象,我认为你需要一个带有对象的数组。假设您的节点是具有length属性this method is the fastest

的数组
var preference = new Array(node.length||0), i = 0;
node.eachSubnode(function(node) {
    preference[i++] = {
        title: node.name,
        data: node.data.germ
    };
});