JavaScript、angular2中如何從for循環(huán)的值中重組一個(gè)數(shù)組
問題描述
比如我有一個(gè)數(shù)組
let arry = [{'selected':true,'name':'Tony'},{'selected':false,'name':'Lily'},{'selected':true,'name':'Liyang'}];
JS中我使用for循環(huán)如何獲取僅selected為true的值?
for(var i=0;i<arry.length;i++){ if(arry[i].selected=true){console.log(arry[i].name) }}
以上的for中國(guó),打印出來的依然是3個(gè)字符串。而我僅需要['Tony','Liyang']這樣的格式,我該如何才能獲取?之前試過使用push添加到一個(gè)空數(shù)組中,但是push中每for一次就僅push當(dāng)前for到的值,而并不會(huì)將所有值添加到一個(gè)數(shù)組中去!求大神幫幫忙!
問題解答
回答1:if(arry[i].selected=true)
這里錯(cuò)了,寫成了賦值。
回答2:一個(gè)=是賦值,兩個(gè)=是比較,樓主下次寫的時(shí)候細(xì)心點(diǎn),有時(shí)候邏輯沒問題,但就是運(yùn)行不起來,那么可能是哪個(gè)位置語(yǔ)法有問題了。
回答3:直接用arry[i].selected判定就好了,為啥要判斷值是否相等啊?
回答4:var newArr = []arry.forEach(function(value){if(value.selected) newArr.push(value.name)})回答5:
用 filter 和 map 處理多方便的
let arry = [ { 'selected': true, 'name': 'Tony' }, { 'selected': false, 'name': 'Lily' }, { 'selected': true, 'name': 'Liyang' }];let selected = arry.filter(m => m.selected);console.log('selected', selected);let names = selected.map(m => m.name);console.log('names', names);// 連起來let result = arry .filter(m => m.selected) .map(m => m.name);console.log('result', result);
相關(guān)文章:
1. mysql - redis和mongodb怎么結(jié)合2. JSP頁(yè)面導(dǎo)入問題類文件放在WEB-INF / classes中的包中3. python - type函數(shù)問題4. pbootcms程序的詳情頁(yè)模板想要實(shí)現(xiàn)多版塊展現(xiàn),說不清楚,我截圖在里面5. ddos - apache日志很多其它網(wǎng)址,什么情況?6. html5和Flash對(duì)抗是什么情況?7. php安裝lpsolve 擴(kuò)展求助8. 第6行的$_GET[’F’]沒有定義啊?求問一下是什么意思?9. 老師 我是一個(gè)沒有學(xué)過php語(yǔ)言的準(zhǔn)畢業(yè)生 我希望您能幫我一下10. Thinkphp 下載地址找不到了?
