Lai*_*iso 4 javascript arrays ecmascript-6
我在ES6中寻找一种优雅的方式来转换这个数组:
var src = [{x:1,y:'a'},{x:2,y:'b'}];
Run Code Online (Sandbox Code Playgroud)
到这个数组:
var desc = [[1,2],["a","b"]];
Run Code Online (Sandbox Code Playgroud)
其中包含所有属性的数组和所有值的一个数组.
为此,我写了这段代码:
var src = [{x:1,y:'a'},{x:2,y:'b'}];
var prop1 = [];
var prop2 = [];
src.forEach(item => {
prop1.push(item.x)
prop2.push(item.y);
});
var desc = [prop1, prop2];
Run Code Online (Sandbox Code Playgroud)
它工作正常,但它很长,所以我正在寻找最终的改进和短代码.
您命名道具顺序(因为不保证对象中键的顺序),然后src通过提取相应的道具值来映射数组.
var src = [{x:1,y:'a'},{x:2,y:'b'}]
var props = ['x', 'y'];
var result = props.map(prop => src.map(x => x[prop]))
console.log(result)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |