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

问题描述 投票:0回答:3

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']

有没有办法在使用键和值方法的帮助下获得相同的输出

ecmascript-6
3个回答
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);

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);

0
投票

当你使用密钥和值时,Object.entries可能最适合你:

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

推荐问答