我想找到一個更好的方法來寫這段代碼(解析一個對象)在JavaScript(es5)使用forEach。簡化es6片段forEach
isCurrentUserIsInSubPeriod(){
let itemFounded = false
obj.forEach(data => {
if (data.check)
itemFounded = true
});
return itemFounded
}
我想找到一個更好的方法來寫這段代碼(解析一個對象)在JavaScript(es5)使用forEach。簡化es6片段forEach
isCurrentUserIsInSubPeriod(){
let itemFounded = false
obj.forEach(data => {
if (data.check)
itemFounded = true
});
return itemFounded
}
您可以改爲使用Array.some。
isCurrentUserIsInSubPeriod(){
return obj.some(data => data.check);
}
如果你想使用ES5的語法來遍歷一個對象,你應該使用for-in循環。 for each
方法只能用於數組。構造聲明其餘部分的最簡單方法是使用三元表達式。
isCurrentUserIsInSubPeriod(){
let itemFounded = false;
for (data in obj) {
data.checked ? itemFounded = true : itemFounded = false;
}
return itemFounded;
}
'data.checked? itemFounded = true:itemFounded = false;'可以簡化爲'itemFounded = data.checked;'(這更簡潔易懂)。順便說一句,因爲'obj'是一個數組,'data'將是數組的索引*('0','1'等),'data.checked'將始終是'undefined'。如果有的話,你需要'obj [data]'。 –
既然有一個對象上沒有'.forEach()'方法,請說明實際的問題是什麼在這裏,我們可以幫助您與其他/更好的解決方案。你只是想知道對象本身是否有屬性是'.check'屬性的對象?或者試圖查看對象本身是否具有'.check'屬性?如果您詢問您提出的解決方案而不告訴我們實際的整體問題是什麼,那麼我們無法提供比您已經想到的解決方案更好的解決方案,並且您的解決方案無法支持時,我們根本無法提供幫助。 – jfriend00
「解析對象」是什麼意思? – jfriend00
「解析對象」的意思是「解析對象」。檢查對象內的所有值 – alan