splice
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
var lang = ["php","java","javascript"]; //删除 var removed = lang.splice(1,1); alert(lang); //php,javascript alert(removed); //java ,返回删除的项 //插入 var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入 alert(insert); //返回空数组 alert(lang); //asp,php,javascript //替换 var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 alert(lang); //asp,c#,ruby alert(replace); //php,返回删除的项
substring,slice
<script language="javascript"> var stmp = "rcinn.cn"; //使用一个参数 alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn" alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn" //使用两个参数 alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn" alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn" //如果只用一个参数并且为0的话,那么返回整个参数 alert(stmp.slice(0));//返回整个字符串 alert(stmp.substring(0));//返回整个字符串 //那如何只反回第一个字符呢,可以用其它的函数,那如果一定要用这两个方法的话就指定第一个参数为0,第二个参数为1,看下面的例子 alert(stmp.slice(0,1));//返回"r" alert(stmp.substring(0,1));//返回"r" //在上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子 alert(stmp.slice(2,-5));//返回"i" alert(stmp.substring(2,-5));//返回"rc" //从上面两个例子可以看出slice(2,-5)实际上是slice(2,3),负5转换成正3;而substring(2,-5)实际上是substring(2,0),负数转换为0,swubstring总是把最小的数作为起始位置。 </script>
数组排序
$(function () { var arr = new Array(3, 4, 6, 2, 4, 8, 5, 1, 11, 22, 17, 42, 46, 41,-1,-22,-15,-100,'a','d','b','C','E','A','G'); var arr1 = arr.concat(); arr1.sort(); alert(arr1); arr1.reverse(); alert(arr1); });
$(function () { var arr = new Array(2, 3, 'a', 'D', 'G', 8); var li = new Array("li", "lii", "hon", "hongda"); //拷贝 var arr1 = arr.concat(); var arr2 = arr.slice(0); //添加 $.each(li, function (i, item) { arr1.push(item); //2, 3, 'a', 'D', 'G', 8,"li", "lii", "hon", "hongda" arr2.unshift(item); //"hongda",hon,lii,li,2, 3, 'a', 'D', 'G', 8 }); //删除 $.each(li, function () { arr1.pop(); arr2.shift(); }); //截取|合并 var narr1 = arr1.slice(0, 3); alert(narr1); //2,3,a var narr2 = arr2.concat(narr1); alert(narr2); //2,3,a,D,G,8,2,3,a });
push,pop,unshift,shift
push:对数组从尾部开始插入,是对原数组进行操作,如果插入参数是一个数组,那么就将该数组当做一个元素插入到原数组中。
pop:对数组从尾部开始删除,删除最后一个元素,并返回删除的元素,如果数组为空时,就返回undefined.
unshift:对数组从头部开始插入。
shift:对数组从头部开始删除,并返回删除的元素。
var arr=["hong","da","qi"]; var list=[1,2,3,4,5]; for(var i=0;i<arr.length;i++){ list.push(arr[i]); console.log(list); } for(var i=0;i<arr.length;i++){ console.log("delete:"+list.pop()); console.log(list); }
var arr=["hong","da","qi"]; var list=[1,2,3,4,5]; for(var i=0;i<arr.length;i++){ list.unshift(arr[i]); console.log(list); } for(var i=0;i<arr.length;i++){ console.log("delete:"+list.shift()); console.log(list); }