用于从两个对象属性创建键值对的函数

时间:2014-04-05 19:50:51

标签: javascript jquery d3.js

我正在使用d3.csv解析2列CSV文件。是否有现有的JS,jQuery或D3函数将结果转换为键值对?

CSV输入示例:

Option      Value
first_name  Don
last_name   Smith

Chrome控制台输出的示例d3.csv:

{ option: "first_name", value: "Don" },
{ option: "last_name", value: "Smith" }

下面是我想要的输出(我想将该选项用作键,值为...值):

[{ first_name: "don" }, { last_name: "Smith" }]

如果没有现有的函数,我将编写循环遍历该对象的东西,并使用"选项"作为新的关键,"价值"因为它的价值。我认为这样的事情已经写好了。

1 个答案:

答案 0 :(得分:0)

这是你的意思吗?

function makeArrayWithOptionAsKey(oldDataArray) {
    var newDataArray = [];
    for (var i=0; i<oldDataArray.length; i++) {
        var option = oldDataArray[i]['option'];
        var value = oldDataArray[i]['value'];
        newDataArray.push({ option: value });
    }
    return newDataArray;
}

如果这是你正在寻找的,你也可以使用JQuery的地图:

var arrayWithObjectAsKey = $.map(myObjList, function (el, i) {
    var newElement = {};
    newElement[el['option']] = el['value'];
    return newElement;
});