let testData = [
[
{
"key": "status",
"name": "状态",
"hidden": false,
"defaultValue": "",
"type": "system",
}
],
[
{
"key": "time",
"name": "时间",
"name_en": "",
"hidden": false,
}
],
[
{
"key": "apple",
"name": "苹果",
"name_en": "",
"hidden": false,
}
],
[
{
"key": "fish",
"name": "鱼",
"name_en": "",
"hidden": false,
}
]
]
let targetData = [
{
"key": "status",
"name": "状态",
"hidden": false,
"defaultValue": "",
"type": "system",
},
{
"key": "time",
"name": "时间",
"name_en": "",
"hidden": false,
},
{
"key": "apple",
"name": "苹果",
"name_en": "",
"hidden": false,
},
{
"key": "fish",
"name": "鱼",
"name_en": "",
"hidden": false,
}
]
testData.map(arr => {return arr[0]})
小魔女参考了bing和GPT部分内容调写:
要处理testData数据,可以使用JavaScript中的map()方法,通过map()方法可以将testData中的每一项数据映射到targetData中,从而实现数据处理的目的。
let targetData = testData.map(item => {
return {
name: item[0],
age: item[1],
isMale: item[2],
hidden: item[3]
}
})
另外,也可以使用JavaScript中的forEach()方法,通过forEach()方法可以遍历testData中的每一项数据,然后将其赋值给targetData,从而实现数据处理的目的。
let targetData = []
testData.forEach(item => {
targetData.push({
name: item[0],
age: item[1],
isMale: item[2],
hidden: item[3]
})
})
此外,还可以使用JavaScript中的reduce()方法,通过reduce()方法可以将testData中的每一项数据归纳到targetData中,从而实现数据处理的目的。
let targetData = testData.reduce((acc, item) => {
acc.push({
name: item[0],
age: item[1],
isMale: item[2],
hidden: item[3]
})
return acc
}, [])
回答不易,记得采纳呀。
该回答引用ChatGPT
这是一个二维数组,可以使用 JavaScript 中的数组方法对数据进行处理。以下是一些处理方式:
使用 Array.prototype.flat() 方法将二维数组转化为一维数组,然后再使用 Array.prototype.map() 方法对每个对象进行转换:
let targetData = testData.flat().map(item => item[0]);
使用 Array.prototype.reduce() 方法对数组进行累加,将每个对象添加到一个新数组中:
let targetData = testData.reduce((acc, cur) => acc.concat(cur), []).map(item => item[0]);
两种方法的最终结果都是与期望的目标数据相同的。请注意,因为对象在 JavaScript 中是引用类型,所以这些方法都会返回一个新的数组,其中包含与原始对象相同的引用。如果需要更深层次的克隆,需要使用其他方法来避免对象引用的问题。
不知道你这个问题是否已经解决, 如果还没有解决的话: