0
我不介意這是在測試可能不存在的屬性時避免錯誤的正確方法,但它非常笨重,而且無論如何都不能正確地完成這項工作!如果相關的'name'在數組中,那麼返回'num'的更好方法是什麼?正確的方法來避免空屬性的錯誤
var myArray = [];
myArray.push ({'name': 'ann', 'num':5});
myArray.push ({'name': 'bob', 'num':6});
var num = (myArray.map(function(s) { return s.name }).indexOf('charles')) ? myArray[myArray.map(function(s) { return s.name }).indexOf('charles')].num : 0;
console.log(num);
您應該檢查myArray.map(function(s){return s.name})。indexOf('charles'))!== -1,indexOf返回-1作爲真 –
運行映射兩次實際上效率低下。 – epascarello
是否有重複的名字?例如,會是第5號和第10號? – Matt