我有一个多维数组,如下所示。
[['Base: Values','55','98','90.8'],['Value First','55','98','90.8'],['Top','55','98','90.8'],['Bottom','55','98','90.8']]
如果包含“顶部”或“底部”,我想删除整个值,以便得到如下结果:
[['Base: Values','55','98','90.8'],['Value First','55','98','90.8']]
请有人给我一个解决方案。提前致谢。
最佳答案
您可以过滤数组,提供一个函数来确定是否应包含某个元素:
array.filter(e => !e.includes('Top') && !e.includes('Bottom'));
示例:
const data = [
['Base: Values','55','98','90.8'],
['Value First','55','98','90.8'],
['Top','55','98','90.8'],
['Bottom','55','98','90.8']
]
const filtered = data.filter(e => !e.includes('Top') && !e.includes('Bottom'));
console.log(filtered)
console.log(data)
编辑:要排除数组值中的任何字符串是否包含特定部分,您可以更改谓词以检查是否至少有一个字符串包含该部分:
array.filter(e => !e.some(i => i.includes('part to find')));
示例:
const data = [
['Base: Values','55','98','90.8'],
['Value First','55','98','90.8'],
['Top','55','98','90.8'],
['Bottom','55','98','90.8']
]
const filtered = data.filter(e => !e.some(i => i.includes('Value')));
console.log(filtered)
console.log(data)
关于javascript - 使用java脚本从多维数组中使用条件删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43753015/