JS从某个项创建新数组



我有二维数组myArray:

[
[ '567576', 'John', 'Doe' ],
[ '098897', 'John', 'Doe' ],
[ '543539', 'John', 'Doe' ],
[ '234235', 'John', 'Doe' ],
[ '345348', 'John', 'Doe' ],
[ '432574', 'John', 'Doe' ]
]

是否可以从某个第一个值开始从myArray创建一个新数组?例如,创建一个从id543539开始的新数组。包含543539的数组之上的任何内容都不会被添加。

您可以使用findIndex(),它返回与条件匹配的第一个项的索引。将其与slice()组合,在特定位置切割您的阵列:

const myArray = [
['567576', 'John', 'Doe'],
['098897', 'John', 'Doe'],
['543539', 'John', 'Doe'],
['234235', 'John', 'Doe'],
['345348', 'John', 'Doe'],
['432574', 'John', 'Doe']
]
console.log(myArray.slice(myArray.findIndex(item => item[0] === "543539")));

当然,假设所有内部数组的结构相同,您可以执行类似let newArray = myArray.filter(innerArray => Number(innerArray[0]) > 543539)的操作

编辑:这是假设你想要第一个项目是大于54539的数字的所有子数组,而不是找到物理上跟随54539作为第一个值的子数组第一次出现的所有子阵列

是的,这是一个可能且简单的过程。您可以使用返回新数组的javascript映射方法

newArray = myArray.map(item=> item[0])

相关内容

  • 没有找到相关文章

最新更新