我有一个像这样的javascript数组(1,2,3,4,5,6,7,8),我想删除小于5的值。所以剩下的数组是(1 ,2,3,4)。如何使用javascript或jquery ...
答案 0 :(得分:3)
您可以使用array.filter()
var array = [1,2,3,4,5,6,7,8];
var new_array = array.filter(function(item) {
return item < 5;
});
或者如果您必须支持IE8及以下版本,您可以采用旧式方式
var array = [1,2,3,4,5,6,7,8],
new_array = [];
for (var i=0; i<array.length; i++) {
if (array[i] < 5) new_array.push(array[i])
}
答案 1 :(得分:1)
我认为您要删除大于5的项目,但jquery grep应该这样做:
答案 2 :(得分:1)
使用.map()
。这将删除小于5的值,并且将从数组中删除剩余的数组值。
var arr = $.map( [ 1,2,3,4,5,6,7,8 ], function( n ) {
return n < 5 ? n : null;
});
console.log(arr);
<强> DEMO 强>
或
使用.grep()
。这将删除小于5的值,剩余的值将从数组中删除。
var arr = $.grep( [ 1,2,3,4,5,6,7,8 ], function( n ) {
return n < 5;
});
console.log(arr);
<强> DEMO 强>
我建议你根据jsperf结果使用grep。
答案 3 :(得分:0)
Var arr = [1,2,3,4,5,6,7];
var newarr = [];
For(var i=0 ; i<=arr.length ; i++){
if(arr[i] < 5){
newarr.push(arr[i]);
}
}
答案 4 :(得分:0)
在这种情况下,你可以使用 JavaScript 来比较 jQuery 。因为 JavaScript *执行*与 jQuery 快速比较。
var filtered = [1,2,3,4,5,6,7,8].filter(issmall);
function issmall(element) {
return element < 5 ;
}
console.log(filtered);
[1, 2, 3, 4]
JavaScript filter()方法
答案 5 :(得分:0)
var orig= [1,2,3,4,5,6,7,8];
以防它们出现故障:
var copy=orig.sort();
然后:
var result = copy.splice(0,copy.lastIndexOf(4)+1);