第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js兩個嵌套的循環(huán)如何讓數(shù)值正確的刪除

js兩個嵌套的循環(huán)如何讓數(shù)值正確的刪除

慕慕森 2019-05-22 18:17:55
varpatt=newRegExp(11);vardata=[[{a:1,b:1},{a:2,b:2},{a:3,b:3}],[{a:11,b:11},{a:22,b:22},{a:33,b:33}]]data.forEach((item,index)=>{item.forEach((item2,index2)=>{if(!patt.test(item2.a)){console.log(item2.a);//打印出的結(jié)果是1,2,3,22,33(除了11以外的所有項)item.splice(index2,1);//問題出在這一句}})});console.log(data);//我希望這個data能拿到的是{a:11,b:11}這一條數(shù)據(jù)如上面的代碼所示,我現(xiàn)在希望data打印出的結(jié)果是patt篩選的那個結(jié)果所在的那條數(shù)據(jù){a:11,b:11}該怎么修改這一段代碼,讓它能正確的打印出我想要的結(jié)果?
查看完整描述

2 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗 獲得超3個贊

item2.splice(index2,1);//item2item是外層的,你要刪除的是內(nèi)層的。所以是item2**
仔細(xì)一看,我應(yīng)該寫錯了。我再改改
forEach()方法對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)。應(yīng)用場景:為一些相同的元素,綁定事件處理器!
那么forEach看上去不那么適合
filter()方法創(chuàng)建一個新數(shù)組,其包含通過所提供函數(shù)實現(xiàn)的測試的所有元素。
filter()也不適合,他只有兩個操作,要或者不要,所以最外層的循環(huán)他改變不了
map()方法創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果。
這個我覺得就還好了,因為他是一個返回值的合集
varpatt=newRegExp(11);
vardata=[
[
{a:1,b:1},
{a:2,b:2},
{a:3,b:3}
],
[
{a:11,b:11},
{a:22,b:22},
{a:33,b:33}
]
]
data=data.map((item,index)=>{
item=item.filter((item2,index2)=>{
console.log(item2)
returnpatt.test(item2.a)
});
returnitem
});
console.log(data);//我希望這個data能拿到的是{a:11,b:11}這一條數(shù)據(jù)
                            
查看完整回答
反對 回復(fù) 2019-05-22
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗 獲得超21個贊

splice()方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。
該方法會改變原始數(shù)組。
varpatt=newRegExp(11);
vardata=[
[
{a:1,b:1},
{a:2,b:2},
{a:3,b:3}
],
[
{a:11,b:11},
{a:22,b:22},
{a:33,b:33}
]
]
data.forEach((item,index)=>{
item.forEach((item2,index2)=>{
if(!patt.test(item2.a)){
console.log(data);
item.splice(index2,1);
}
})
});
看看每次循環(huán)打印的data是什么。每次在循環(huán)中進行splice操作時,都改變了data,也就是去掉一個item2,那么進行下一次循環(huán)的時候,由于少了一項,index2可能就取不到了(數(shù)組里只有兩個項,但你想去下表為3的項)。所以造成了這個問題
                            
查看完整回答
反對 回復(fù) 2019-05-22
  • 2 回答
  • 0 關(guān)注
  • 477 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號