shift unshift pop push splic delete
shift和unshift是数组第一个元素
shift:
var array=[1,2,3,4] var ret=array.shift(); console.info(array); // console.info(ret);//1 返回第一个元素,即删除的元素
unshift:
var array=[1,2,3,4] var ret =array.unshift("a"); console.info(array);// console.info(ret);//5 返回数组长度
pop和push遵循栈先进后出,是数组最后一个元素
pop删除最后元素
var a = [1,2,3,4,5]; var b = a.pop(); //a:[1,2,3,4] b:5
push在数组最后面加
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
splice(起始索引,从包括起始索引删除的数量,在删除的位置新增的元素,在删除)
var array=[1,2,3,4] var ret =array.splice(0,1,2,3);删原数组元素1,新增加2,3, console.info(array); //Array(5) [ 2, 3, 2, 3, 4 ]
array.splice(0,1)=shift()
array.splice(0,0,元素1,元素2....)=unshift(元素1,元素2...)
splice删除数组连同索引一起删除,而delete删除,还保留原索引
delete
var array=[1,2,3,4] var ret =delete array[0]; console.info(array); //
Array(4) [ <1 empty slot>, 2, 3, 4 ] empty slot空,值为空,但索引还在
console.log(array[0]); //
//遍历delete会跳过undefinded值
for(i in test) { console.log(test[i]) }
不仅可以删除数组,还可以删除对象的属性
var obj={"age":12,"name":"张三"}; console.log(obj.age); //12 delete obj.age; console.log(obj.age);//undefined
console.log(obj);//name: "张三" ,属性彻底删除了,不存在什么索引还在
但不能删除变量:
var name = 'lily'; delete name; console.log(name); //lily
原型链也删除不了
obj.prototype.age = 18; delete obj.age; console.log(obj.age) //18
remove: dom文档删除dom节点
从下拉列表删除选项。
<html> <head> <script type="text/javascript"> function removeOption() { var x=document.getElementById("mySelect") x.remove(x.selectedIndex) } </script> </head> <body> <form> <select id="mySelect"> <option>Apple</option> <option>Pear</option> <option>Banana</option> <option>Orange</option> </select> <input type="button" onclick="removeOption()" value="Remove option"> </form> </body> </html>
String.split() 执行的操作与 Array.join 执行的操作是相反的。
split()把一个字符串分割成字符串数组
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"] "|a|b|c".split("|") //将返回["", "a", "b", "c"]
var a="a.a.a.s.d"; var b= a.split(".");//js不需要转义,java需要 console.log(a);//a.a.a.s.d console.log(b);//
join()是一个数组转字符串
var arr = [ "a", "b", "c", "d", "e" ]; arr.join(); 得到 a,b,c,d,e//参数不写,默认是, arr.join("-"); 得到 a-b-c-d-e
java与js的split方法的结果:
使用java中的split()里面的参数为正则表达式,但是对“,”也支持,。对|或者$均需使用\进行转义。js不存在该问题。
java :split(".");需要转义