我有一些功能会杀死页面或在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);
答案 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 some
,filter
应该可以正常使用。