js 数据结构:想剔除指定一列怎么操作?

作者站长头像
站长
· 阅读数 6
[
 ['排序', '数量', '价值', '操作人', '时间','名称'],
 ['1', '22', '5.5', '小米', '2022-03','苹果'],
 ['2', '550', '3.5', '小王', '2022-03','香蕉'],
 ['3', '150', '13.5', '小李', '2022-03','西瓜']
]

如果我想剔除操作人和名称这一列怎么处理想要的格式

[
 ['排序', '数量', '价值',  '时间'],
 ['1', '22', '5.5',  '2022-03'],
 ['2', '550', '3.5',  '2022-03'],
 ['3', '150', '13.5',  '2022-03']
]
回复
1个回答
avatar
test
2024-07-08
function deleteArrayWithIndex (arr, index) {
    const newArr = JSON.parse(JSON.stringify(arr))
    newArr.forEach(item => item.splice(index, 1))
    return newArr
}
a = [
 ['排序', '数量', '价值', '操作人', '时间','名称'],
 ['1', '22', '5.5', '小米', '2022-03','苹果'],
 ['2', '550', '3.5', '小王', '2022-03','香蕉'],
 ['3', '150', '13.5', '小李', '2022-03','西瓜']
]

deleteArrayWithIndex(deleteArrayWithIndex(a, 3), 4)

更新

function deleteArrayWithNames (arr, nameArr) {
    const nameIndexList = nameArr.map(item => arr[0].findIndex(name => name === item)) // 找到 name 的 index 数组
    const newArr = JSON.parse(JSON.stringify(arr))
    return newArr.map(item => item.filter((_item, index) => !nameIndexList.includes(index)))
}
a = [
 ['排序', '数量', '价值', '操作人', '时间','名称'],
 ['1', '22', '5.5', '小米', '2022-03','苹果'],
 ['2', '550', '3.5', '小王', '2022-03','香蕉'],
 ['3', '150', '13.5', '小李', '2022-03','西瓜']
]

deleteArrayWithNames(a, ['操作人', '名称'])
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容