🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、删除指定索引的元素 ``` Array.prototype.remove = function(index) { for(var i=0, len=this.length; i<len; i++) { if(index === i) { this.splice(index, 1); break; } } return this; } console.log(a.remove(1)); // [1, 3, 4] ``` ## 二、数组去重 ``` Array.prototype.uniqe = function() { return this.reduce(function(arr, v) { if(arr.indexOf(v) === -1) arr.push(v); return arr; }, []); } var arr2 = ['1', '2', '1', '3', '3', '2']; console.log(arr2.uniqe()); // ["1", "2", "3"] ``` ## 三、获取数组最后一个元素 ``` var arr = [1,2,3,4,5]; // 方式1 var last = arr.pop(); // 方式2 var last = arr.slice(-1)[0]; // 方式3 var last = arr[arr.length-1] ``` ## 四、Array.filter(Boolean) > ECMAScirpt5 中 Array 类中的 filter 方法使用目的是移除所有的 "false" 类型元素 (false, null, undefined, 0, NaN or an empty string) ``` var a = [1, 2, "b", 0, {}, "", NaN, 3, undefined, null, 5]; var b = a.filter(Boolean); // [1,2,"b",{},3,5] // Boolean 是一个函数,它会对遍历数组中的元素,并根据元素的真假类型,对应返回 true 或 false. // Boolean(0); // false // Boolean(true); // true // Boolean(1); // true // Boolean(""); // false // Boolean("false"); // true. "false"是一个非空字符串 // 实际上,下面这样的写法是一种简写模式 // b = a.filter(Boolean); // 它等价于 // b = a.filter(function(x) { return Boolean(x); }); ```