合并两个数组,其中array1为键,array2为值

时间:2018-01-03 09:50:49

标签: ecmascript-6

const dataParams = [];  
let data={
         A:'5',
         B:'6',
         C:'7',
         D:'8'
       }
for(let d in data){
 dataParams.push(d + '=' + data[d]);  
}
console.log(dataParams)

我有一个对象,如下所示,我只需将其打印为数组即可 [“A = 5”,“B = 6”,“C = 7”,“D = 8”]

以下代码正常运行,请参阅控制台。

但是我已经阅读了JS中的键和值方法

Object.keys(data)// [A,B,C,D] Object.values(data)// ['5','6','7','8']

有没有办法可以在使用键和值方法

的帮助下获得相同的输出

3 个答案:

答案 0 :(得分:1)

object#entriesarray#map

一起使用



let data={A:'5',B:'6',C:'7', D:'8'},
  result = Object.entries(data).map(([key, value]) => `${key}=${value}`);
  console.log(result);




您也可以使用Object.keys()



let data={A:'5',B:'6',C:'7', D:'8'},
      result = Object.keys(data).map(k => `${k}=${data[k]}`);
      console.log(result);




答案 1 :(得分:0)

您可以将reduceObject.keys

一起使用



var data = {
  a:1,
  b:2,
  c:3,
  d:4
}

var list = Object.keys(data).reduce(function(keyValueList, prop){
  keyValueList.push(prop + '=' + data[prop])
  return keyValueList;
}, []);

console.log(list);




答案 2 :(得分:0)

当您同时使用键和值时,Object.entries可能最适合您:

const dataParams = Object.entries(data).map(([key, value]) => `${key}=${value}`);