// for example
var arrayName = [1, 2, 2, 3, 4, 2];
alert ( arrayName[2].length ); // undefined
我想要的是
alert ( arrayName[2].length ); // 3
或任何其他方式..谢谢
答案 0 :(得分:2)
答案 1 :(得分:0)
你不需要长度。只需引用该索引处的值:
alert(arrayName[2]);
答案 2 :(得分:0)
只需将其添加到数组原型中,您就可以从数组中返回一个唯一的子集:
Array.prototype.getUnique = function(){
var u = {}, a = [];
for(var i = 0, l = this.length; i < l; ++i){
if(u.hasOwnProperty(this[i])) {
continue;
}
a.push(this[i]);
u[this[i]] = 1;
}
return a;
}
的副本
答案 3 :(得分:0)
显然,您正在将数组索引的概念与该数组的实际元素混合。
简而言之,arrayName [2] .length返回第二个元素的长度。 在这种情况下,第二个元素是2,其长度未定义。
虽然实现目标的好方法是使用库underscore:
arr = [1,2,2,2,3];
function countDuplicate(arr, dup) {
return (_.filter(arr, function(num){
return num == dup;
})).length;
}
console.log(countDuplicate(arr, 2));
小提琴可用here。