对于IE9 +使用Array.filter
var arr = [4,5,7,8,14,45,76];
var filtered = arr.filter(function(element, index, array) {
return (index % 2 === 0);
});
随着旧的IE的回退,其他所有的浏览器都确定没有此回退
if (!Array.prototype.filter)
{
Array.prototype.filter = function(fun /*, thisp */)
{
"use strict";
if (this === void 0 || this === null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun !== "function")
throw new TypeError();
var res = [];
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in t)
{
var val = t[i]; // in case fun mutates this
if (fun.call(thisp, val, i, t))
res.push(val);
}
}
return res;
};
}
大概,我说错了。我的意思是序数的元素 - 例如,5是第二,8是第四等.. – DrStrangeLove
我看...那么它应该工作,如果你采取奇怪的指标。 –
从第二个元素开始: for(var i = 1; – DruDro