该函数需要检查数组是否有数字,并返回第一个和最后一个数字。如果数组为空,则应返回两个零[0,0]的数组,如果数组的第一个或最后一个元素不是数字,则还应返回两个零。我完成了一个功能,但无法正常工作。
完成一个功能。
function checkArrEl(arr) {
let result = [];
if ((arr.length == 0 ) || (typeof arr[0] || typeof arr[arr.length-1] !== 'number')) {
result = [0,0];
} else result.push(arr.shift(), arr.pop())
return result;
}
console.log(checkArrEl(['a',1,2,3,4,'b']));
console.log(checkArrEl([]))
console.log(checkArrEl([1,2,3,4,5]));
答案 0 :(得分:0)
我假设如果数组的最后一个元素的第一个不是[c]
类型,则期望+
返回true。
第一个(typeof arr[0] || typeof arr[arr.length-1] !== 'number')
没有与之配对的比较运算符。在number
的情况下,您的表达式的计算结果为typeof
,它每次都会评估真实性。
给第一个arr=['a',1,2,3,4,'b']
一个比较运算符,以便您的逻辑正确评估。以下if语句可能更适合您。
'string' || false
控制台现在记录:
typeof