重写IE的javascript函数

时间:2017-11-21 23:45:23

标签: javascript jquery

我有一些功能会杀死页面或在IE中静默失败。我无法弄清楚如何重写它们。我不想添加一堆插件,但我确实有jQuery。 有问题的变量是对象数组。你会怎么写以下内容?

// 1. Get only the newly added user / group
var new_students = new_enrollee_list.filter(function( new_enrollee ){
    return ! current_enrollee_list.some(function( current_enrollee ){
        return new_enrollee.id === current_enrollee.id && new_enrollee.type === current_enrollee.type;
    });
});



// 2. Remove students from current list
current_enrollee_list.splice(0, current_enrollee_list.length, ...new_enrollee_list);

1 个答案:

答案 0 :(得分:1)

对于传播语法,您应该能够通过从所有参数中创建一个数组并使用Function.apply来解决此方法:

所以这个

current_enrollee_list.splice(0, current_enrollee_list.length, ...new_enrollee_list);

变为

current_enrollee_list.splice.apply(current_enrollee_list, [0, current_enrollee_list.length].concat(new_enrollee_list));

由于您使用的是IE9 somefilter应该可以正常使用。