访问es6中对象数组的键

时间:2017-03-02 08:19:16

标签: ecmascript-6 key

我是es6的新手,我有一系列对象如下:

checkProps = [ {symbol: rwerwe}, {side: Buy}, {status: Hey} ]

使用for循环我想创建一个字符串,如: myurl = localhost:3000 / symbol = rwerwe& side =购买& status =嘿

为此,我必须访问每个对象的键并使用concat作为字符串组合。我使用了Object.keys但它返回了整数。我想要一些东西来回报符号,方面和状态。怎么做?

2 个答案:

答案 0 :(得分:2)

请试试这个:

var checkProps = [ {symbol: 'rwerwe'}, {side: 'Buy'}, {status: 'Hey'} ];
var urlStr = 'localhost:3000/';
var urlParams = [];
checkProps.forEach(function(o) {
  var keys = Object.keys(o);
  keys.map(function(key) {
      urlParams.push(key + '=' + o[key])
  });
});

urlStr += urlParams.join('&');
console.log(urlStr)

答案 1 :(得分:0)

您需要遍历数组并将Object.keys应用于项目。

const parameters = checkProps.map(item => Object.keys(item).map(key => key + "=" + item[key])[0])
                             .join("&");
const myUrl = `localhost:3000/${parameters}`;

ES2017和Object.entries

有点干净
const parameters = checkProps.map(item => Object.entries(item)[0])
                             .map(parameter => parameter.join("="))
                             .join("&");