0

我想知道如何在不使用 undercoreJS 的情况下使用 JUST javascript 来做到这一点?我一直在尝试不同的方法,但我无法实现!:( 谢谢!

我想要做的是检查基本上是选中还是未选中。

myArray =[
        {text: 'lean something', done: false},
        {text: 'what ever', done: false }

    ];

function clearCompleted = function(){
        myArray = _.filter(myArray, function(todo){
                    return !todo.done;
                });
4

3 回答 3

3

如果您只支持现代浏览器(即任何比 IE8 更新的浏览器),您可以使用.filter()

myArray.filter(function(todo){
    return !todo.done;
});

如果要支持旧版浏览器,请使用循环:

var temp = [];

for (var i = 0; i < myArray.length; i++) {
    if (!myArray[i].done) {
        temp.push(myArray[i]);
    }
}
于 2013-02-25T09:25:37.447 回答
2

您可以使用Array.filter

myArray = myArray.filter(function(todo) {
    return !todo.done;
});

如果您使用的是不包含该方法的旧浏览器,则上述链接中提供了一个 shim。

于 2013-02-25T09:24:57.830 回答
0

您可以使用本机filter方法

myArray = myArray.filter(function(todo){
    return !todo.done;
});
于 2013-02-25T09:24:47.933 回答