Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript或lodash中从数组中删除所有下一个元素_Javascript_Arrays_Reactjs_Ecmascript 6_Lodash - Fatal编程技术网

如何在javascript或lodash中从数组中删除所有下一个元素

如何在javascript或lodash中从数组中删除所有下一个元素,javascript,arrays,reactjs,ecmascript-6,lodash,Javascript,Arrays,Reactjs,Ecmascript 6,Lodash,我有一个object[{a:1},{a:2},{a:3},{a:4},{a:5}]数组 我想找到{a:3}的索引,并从{a:3}的索引中删除所有后续元素 结果应该像[{a:1},{a:2},{a:3}]一样,删除的元素将是{a:4},{a:5}带有切片和findIndex的一行代码 const data=[{a:1},{a:2},{a:3},{a:4},{a:5}]; const res=data.slice( 0, data.findIndex((el)=>JSON.stringify(el

我有一个object
[{a:1},{a:2},{a:3},{a:4},{a:5}]
数组

我想找到
{a:3}
的索引,并从
{a:3}
的索引中删除所有后续元素


结果应该像
[{a:1},{a:2},{a:3}]
一样,删除的元素将是
{a:4},{a:5}

带有
切片和
findIndex的一行代码

const data=[{a:1},{a:2},{a:3},{a:4},{a:5}];
const res=data.slice(
0,
data.findIndex((el)=>JSON.stringify(el)==JSON.stringify({a:3}))+1
);

控制台日志(res)带有
slice
findIndex

const data=[{a:1},{a:2},{a:3},{a:4},{a:5}];
const res=data.slice(
0,
data.findIndex((el)=>JSON.stringify(el)==JSON.stringify({a:3}))+1
);
控制台日志(res)
您可以使用
Array#findIndex()
根据对象的编号查找该对象,或者
Array#indexOf()
如果您有对该对象的引用

然后,您可以设置数组的长度(突变)或使用
array#slice()
(非突变)来减少其长度:

const数组=[{a:1},{a:2},{a:3},{a:4},{a:5}]
常量i=array.findIndex(({a}=>a==3)
常量arrayCopy=array.slice(0,i+1)
//或:
array.length=i+1
控制台日志(i)
console.log(arrayCopy)
console.log(array)
您可以使用
array#findIndex()
按其编号查找该对象,或者如果您有对该对象的引用,可以使用
array#indexOf()

然后,您可以设置数组的长度(突变)或使用
array#slice()
(非突变)来减少其长度:

const数组=[{a:1},{a:2},{a:3},{a:4},{a:5}]
常量i=array.findIndex(({a}=>a==3)
常量arrayCopy=array.slice(0,i+1)
//或:
array.length=i+1
控制台日志(i)
console.log(arrayCopy)

log(数组)
我不想将它与数组元素值进行比较,比如
a==3
。我真的需要用array@ShopifyGuy嗯,因此您可能需要进行深入的对象比较,我用JSON.stringify解决方案更新了答案
JSON.stringify
方法效率低下,在某些情况下可能无法工作,等等。请看,我不想将其与数组元素值进行比较,如
a==3
。我真的需要用array@ShopifyGuy嗯,所以你可能需要进行深入的对象比较,我用一个JSON.stringify解决方案更新了答案
JSON.stringify
方法效率低下,在某些情况下可能无法工作,等等。请看,你想要一个新数组还是保留旧数组而不需要其他数组?请添加所需的结果和代码,您已经尝试过了。您想要一个新数组还是保留旧数组而不使用不需要的数组?请添加想要的结果和代码,您已尝试。