1

我有以下数组:

>>> var cars = new Array;
undefined

>>> cars[5] = 'Volvo';
"Volvo"

>>> cars[10] = 'Honda';
"Honda"

>>> cars
[undefined, undefined, undefined, undefined, undefined, "Volvo", undefined, undefined, undefined, undefined, "Honda"]

>>> cars.length
11

有没有一种方法可以让新的数组从中得到cars不是稀疏的['Volvo', 'Honda']。实际上,在我的情况下,即使值的顺序也不重要。

当然,我可以通过循环来完成,但我正在寻找更优雅的解决方案。jQuery也是一种选择!

4

2 回答 2

3

jQuery.map数组会自动展平吗:

var flattenedArr = $.map(cars, function(v) {
    return v;
});

小提琴

于 2013-01-01T23:13:40.977 回答
2
cars = $.grep(arr, function(n){
    return(n);
});

这只会留下数组的已定义元素并忽略未定义的元素。

更多信息

于 2013-01-01T23:10:41.903 回答