将阵列转换为另一个阵列

Transform array to another

本文关键字:阵列 另一个 转换      更新时间:2023-09-26
  1. 我有这个 JSON

           [            {"键":"main1","value":320},            {"键":"main2","值":240},            {"键":"front1","值":220},            {"键":"main1","value":300},            {"键":"main2","值":240},            {"键":"front1","值":120},            {"键":"front5","值":120}         ]     
  2. 并且需要像这样的转换,当它们具有相同的键时将其关闭并从相同的值创建数组。

           [            {"main1": [320, 300]},            {"main2": [240, 240]},            {"front1": [220, 120]},            {"front5": [120]}         ]    

你可以这样做:

var element,
    result = {},
    test = [
            {"key":"main1","value":320},
            {"key":"main2","value":240},
            {"key":"front1","value":220},
            {"key":"main1","value":300},
            {"key":"main2","value":240},
            {"key":"front1","value":120},
            {"key":"front5","value":120}
         ];
for (i in test) {
    element = test[i];
    if (!result[element.key]) {
        result[element.key]=[element.value];
    } else {
        result[element.key].push(element.value);        
    }
}

演示 -> http://jsfiddle.net/e8afaak8/