javascript删除从数组中移除值小于值

时间:2014-03-30 18:49:34

标签: javascript jquery

我有一个像这样的javascript数组(1,2,3,4,5,6,7,8),我想删除小于5的值。所以剩下的数组是(1 ,2,3,4)。如何使用javascript或jquery ...

6 个答案:

答案 0 :(得分:3)

您可以使用array.filter()

过滤数组
var array = [1,2,3,4,5,6,7,8];

var new_array = array.filter(function(item) {
    return item < 5;
});

FIDDLE

或者如果您必须支持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])
}

FIDDLE

答案 1 :(得分:1)

我认为您要删除大于5的项目,但jquery grep应该这样做:

https://api.jquery.com/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。

http://jsperf.com/map-vs-grep/2

答案 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 快速比较。

检查此 Demo jsFiddle

的JavaScript

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);

http://jsfiddle.net/LXaqe/