有没有一种方法可以检查数组中是否有任何值?

时间:2019-05-27 22:13:47

标签: javascript

说我想有一个if语句来测试数组是否为空, 查找它,我发现除了array [0]之外没有其他方法可以检查,在像React和Angular这样的框架中,它会给出不存在的数组项错误。

let arr = [];

if (!arr[0]) {
  arr.map(val=>{
    return <div>{val.name}</div>  
  });
}

在此示例中,我希望它显示JSX,否则请不要显示任何JSX。但是这样做会引发错误。反正有这样做吗?最好没有任何外部库。

编辑:“在“要做”之后添加了“此””

2 个答案:

答案 0 :(得分:4)

这将检查变量是否已定义以及是否包含任何内容(尽管在这种情况下,您可能不需要进行第一次检查):

return HailstoneNumbers(Num / 2);

此外,请不要忘记int hailstone(int i, int steps) { steps++; if(i == 1) return steps; if(i % 2 == 0) return hailstone(i / 2, steps); else return hailstone(i * 3 + 1, steps); } // main function x = hailstone(num, 0);

答案 1 :(得分:1)

如果您甚至不确定变量是否是数组,这就是我要做的事情:

if (Array.isArray(arr) && arr.length) { /*...*/ }

对于您的特殊情况,您可能甚至不需要第二次检查,因为即使调用它们的Array为空,所有Array迭代器也不会运行一次。

示例:

const arr = [];

console.log(arr.map(Number));
console.log(arr.some(parseInt));
console.log(arr.every(parseInt));
console.log(arr.filter(Number));

如果arr是一个数组,则任何方法都不会引发错误。