- 主题:问一个js的取出数组元素的问题
js经验不多,弱问:
已知数组arr有5个元素,编号从0到4。现在想取出编号0,1,3(这个编号是记录在另一个数组arr_record里的)“以外”的元素,即编号为2和4的元素。
如果用splice()方法对arr_record作一个循环来逐一删除arr中对应编号的元素,固然可以达到目的,但是arr元素较多,需要取出的是很小一部分,做这个循环有点低效。
有无更高效的方法?
--
FROM 192.55.55.*
一个循环是跑不了了,新建数组我觉得效率好些
--
FROM 58.251.81.*
嗯,那只好这样了。
我本以为有函数可以把数组序号来减去arr_record的序号来得到所谓的“以外”的新序号数组arr_NORrecord,然后新建数组利用arr_NORrecord直接从原数组arr里取出元素就好了。这里虽然也要循环,但循环次数是新建序号数组的size,要小很多。
【 在 zxdong262 的大作中提到: 】
: 一个循环是跑不了了,新建数组我觉得效率好些
--
FROM 192.55.54.*
arr.filter(function(x,index){ if(index =0 || index=1 || index=3){return false;}})
【 在 cowell (紫禁飞狐) 的大作中提到: 】
: js经验不多,弱问:
: 已知数组arr有5个元素,编号从0到4。现在想取出编号0,1,3(这个编号是记录在另一个数组arr_record里的)“以外”的元素,即编号为2和4的元素。
: 如果用splice()方法对arr_record作一个循环来逐一删除arr中对应编号的元素,固然可以达到目的,但是arr元素较多,需要取出的是很小一部分,做这个循环有点低效。
: ...................
--
FROM 218.197.83.*