增 Create:
push(); 向数组尾添加元素
var arr = [2,6,8,7,4]; arr.push(100); console.log(arr); //输出 [2,6,8,7,4,100]
unshift(); 向数组头添加元素
var arr = [2,6,8,7,4]; arr.unshift(100); console.log(arr); //输出 [100,2,6,8,7,4]
仅向数组头尾添加元素显然满足不了我们日常需求。但js确实没提供向数组指定位置添加元素的函数,那么我们就自己创建新函数向数组指定位置添加元素。
向Array原型链添加新函数
/* create:向数组指定位置添加元素(支持添加多个)。 parameter table: index 下标位置 valArr 元素列表(可用字符串),建议用数组 ishowmany 是否添加多个元素 */ Array.prototype.insert = function(index,valArr,ishowmany){ if(index > -1 && index < this.length){ //检查添加下标是否超出范围 if(ishowmany == true){ //是否需要添加多个元素 if(typeof(valArr.length) != "undefined"){ //检查添加多个元素是否为数组 for(var i = 0; i < valArr.length; i++){ this.splice(index + i,0,valArr[i]); } } }else{ this.splice(index,0,valArr); } }else{ console.log("数组下标超出范围."); } }
使用范例:
//添加多个元素 var arr = ['a','b','c']; arr.insert(1,[6,5],true); //注意若写成 arr.insert(1,'65',true);输出结果会是[ 'a', '6', '5', 'b', 'c' ] console.log(arr); //输出[ 'a', 6, 5, 'b', 'c' ] //添加单个元素 var arr = ['a','b','c']; arr.insert(1,'65'); //也可写成arr.insert(1,'65',false); 第三个参数默认为false console.log(arr); //输出[ 'a', '65', 'b', 'c' ] //注意第三个参数默认为false var arr = ['a','b','c']; arr.insert(1,'365',true); //若第三个参数为true,添加元素字符串会默认被分割成单个字符 console.log(arr); //输出[ 'a', '3', '6', '5', 'b', 'c' ]
**************************************************************************************************************************************
删 Delete:
pop(); 删除数组尾元素
var arr = ['a','b','c']; arr.pop(); console.log(arr); //输出[ 'a', 'b' ]
shift(); 删除数组头元素
var arr = ['a','b','c']; arr.shift(); console.log(arr); //输出[ 'b', 'c' ]
创建删除指定下标或指定值得函数。
向Array原型链添加新函数