给定以下数组:
var arr = [undefined, undefined, 2, 5, undefined, undefined];
我想得到元素的数量are定义(即:那些是not undefined
)。除了循环遍历数组之外,还有什么好的方法吗?
在最近的浏览器中,您可以使用filter https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter
var size = arr.filter(function(value) { return value !== undefined }).length;
console.log(size);
另一种方法,如果浏览器支持indexOf https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf对于数组:
var size = arr.slice(0).sort().indexOf(undefined);
如果荒谬的是你的数组中只有一位元素,你可以使用这个肮脏的技巧:
console.log(arr.join("").length);
您可以使用多种方法,但最后我们必须看看是否真的值得使用这些方法而不是循环。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)