React转换道具对象到数组然后setState

时间:2017-08-07 04:52:51

标签: javascript reactjs

我需要转换这个道具:

enter image description here

进入这个数组:

this.setState({
            locations: [
                { label: 'California', value: 'california' },
                { label: 'Nevada', value: 'nevada' },
            ]
});

最初我正在使用这个plugin,并希望用我的道具替换它的默认值,但无法将其转换。

1 个答案:

答案 0 :(得分:4)

取决于您的JavaScript风格和写作偏好

利用带有缺点的for .. in运算符。 它将遍历所有可枚举属性,甚至是原型中的属性。

var arr = [];
for (var key in myObject) {
  arr.push(myObject[key]);
}

或使用Object.keys方法

var arr2 = Object.keys(myObject).map(function (i) {
  return myObject[i];
});

或者最后,如果您正在运行Babel转换后的应用,Object.values

var arr3 = Object.values(myObject);