使用场景举例:后端返回的是一个数组对象 [{},{},{}],前端需要的是形式如下的二维数组
遍历原数组,通过 Object.keys(item)方法把键值取出组成新数组,遍历这个数组,和目标字段做判断,把目标字段需要的键的值放到一个二级的数组中,在把这个二级数组添加到一级数组中,这个一级数组就是最终需要的二维数组
<script>
let sourceData = [
{ name: "张三", age: 18, height: 180 },
{ name: "李四", age: 28, height: 160 },
{ name: "王五", age: 38, height: 170 }
]
function arrTrans(sourceData, list){
// 最终要返回的二维数组
let newArr = []
// 遍历原数组
sourceData.forEach(item => {
// 一级数组内包含的二级数组
let arr = []
// 遍历键值数组
Object.keys(item).forEach(key=>{
// 判断目标字段中是否包含当前key值
if(list.includes(key)){
arr.push(item[key])
}
})
newArr.push(arr)
})
return newArr
}
console.log(arrTrans(sourceData, ['name','age']))
</script>