Я пытаюсь улучшить свои методы кодирования, поэтому я попытался провести рефакторинг следующего кода:
РЕДАКТИРОВАТЬ Мой вопрос - каков наилучший метод оценки короткого замыкания https://codeburst.io/javascript-what-is-short-circuit-evaluation-ff22b2f5608c
var idArray = [
{ id: 15 },
{ id: -1 },
{ id: 0 },
{ id: 3 },
{ },
{ id: null },
{ id: NaN },
{ id: 'undefined' }
]
let idFilteredArray0 = []
idArray.forEach(idObj =>{
if(typeof idObj.id === 'number' && !isNaN(idObj.id))
idFilteredArray0.push(idObj.id)
})
// from a forEach loop which returns [ 15, -1, 0, 3, 12.2 ]
let idF0 = idArray.reduce((acc, obj) => {
if((obj.id || obj.id) && !isNaN(obj.id))
acc.push(obj.id)
return acc
},[])
// to reduce which returns [15, -1, 3, 12.2]
Я думаю, && 'является проблемой, но я не вижу другого способа исключить значение NaN.На этом этапе я бы согласился вернуть 0
в массив результатов.Наконец, если кто-то знает хороший источник для изучения оценки короткого замыкания, я был бы очень признателен.Спасибо.
J.