Tav*_*wal -2 javascript ecmascript-6
我有一个要求,我需要根据JSON对象的映射填充数组.例如:假设我有JSON对象,如下所示:
let columns = { 'name' :'value', 'id' : 1, 'age': 15}
Run Code Online (Sandbox Code Playgroud)
我想创建一个具有如下所示值的数组:
var values = [1, 15, value]; // id, age, name
Run Code Online (Sandbox Code Playgroud)
我能够创建数组数组,如下所示:
var data = new Array();
var output = new Array();
let columns = [
{ 'name' :'value', 'id' : 1, 'age': 15},
{ 'name' :'value1', 'id' : 2, 'age': 18}
];
for(let i=0;i< columns.length; i++) {
for (let variable in columns[i]) {
data.push(columns[i][variable]);
}
output.push(data);
data = new Array();
}
console.log(output);Run Code Online (Sandbox Code Playgroud)
我正在努力按照我需要的顺序将值推向数组.我尝试创建一个映射对象但到目前为止没有成功.请让我知道可能的解决方案.
编辑:
感谢您的解决方案,我可以通过它来定义变量中的map函数参数和json对象.并替换它.如下所示:
let mapping {
columns : '{name, id, age}',
mapping : '[id, age, name]'
}
const result = columns.map((mapping.columns) => mapping.mapping);
Run Code Online (Sandbox Code Playgroud)
您可以使用map()带有ES6参数解构的方法,并根据需要向数组添加属性.
let columns = [{ 'name' :'value', 'id' : 1, 'age': 15},{ 'name' :'value1', 'id' : 2, 'age': 18}];
const result = columns.map(({name, id, age}) => [id, age, name]);
console.log(result)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |