js 数组对象重组

arr = [

{"param":"CASH_LIMIT"},
{"param":"green"},
{"regular":"="},
{"regular":"!="},
{"value":"15000"},
{"value":"2323"}

]

changeArr = [

{"param":"CASH_LIMIT","regular":"=","value":"15000"},
{"param":"green","regular":"!=","value":"2323"},  

]

怎么遍历才能把 arr 变成 changeArr

阅读 3.8k
3 个回答

不知道你想实现的功能是啥?如果只是单纯的想把对象整合的话而且arr数组中如果以按你上面的所示一样,则直接按每个对象的个数拷贝就可以了啊。如下面代码所示:

function funchan(arr,count)
{ 
    if (!Array.isArray(arr)) return null; 
    let len = arr.length; 
    let newLen = len / count; 
    let result = new Array();  
    for (let i =0; i < newLen; i++) 
    { 
        let temp = {}; 
        for (let j = 0; j < count; j++)
        { 
            temp = Object.assign(temp,arr[j*newLen + i]);
        } 
        result.push(temp);   
    }
    return result;
}

clipboard.png

function trans (arr) {
  return arr.reduce((sum, cur, index) => {
    let keys = Object.keys(cur)
    let tmp = sum[index % 2]
    keys.forEach(key => {
      tmp[key] = cur[key]
    })
    return sum
  }, [{}, {}])
}
trans(arr)

看规律好像是单数的放第一个对象里面,双数的放第二个对象里面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题