splice与slice、push\pop、unshift、concat的
来源:互联网 发布:淘宝刷单怎么做 编辑:程序博客网 时间:2024/05/16 13:39
一、splice(index,count,object)
1>index:数组中对应的索引 2>count:对应删除索引后的个数 3>object:需要插入的表达式、字符串串、对象等
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
定义数组:
var navList = [{
id: 'search',
name: 'search'
}, {
id: 'mytv',
name: 'menu_mytv'
}];
例1:当count=0时
navList.splice(1, 0, {id:'zhang',name:'张'});
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"zhang","name":"张"},{"id":"mytv","name":"menu_mytv"}]
例2:count=1
navList.splice(1, 1, {id:'li',name:'李四'});
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"li","name":"李四"},{"id":"mytv","name":"menu_mytv"}]
navList.splice(1, 1);
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"mytv","name":"menu_mytv"}]
例3:count>1当count=2时
navList.splice(1, 2, {id:'wang',name:'王五'});
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"wang","name":"王五"}]
注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
二、slice() 方法可从已有的数组中返回选定的元素。
名词解释:slice(index,end)
index:从索引位置开始
end:从总数组的总长度中,选取数组长度范围内根据index截取
例1:
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"zhang","name":"张"},{"id":"mytv","name":"menu_mytv"}]
console.log(JSON.stringify(navList.slice(1)))
[{"id":"zhang","name":"张"},{"id":"mytv","name":"menu_mytv"}]
console.log(JSON.stringify(navList.slice(1,2)))
[{"id":"zhang","name":"张"}]
三、定义和用法
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
pop() 方法可从数组的末端删除一个,并返回新的长度。
例1:
console.log(JSON.stringify(navList.push({"id":"li","name":"李四"})))
4
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"zhang","name":"张"},{"id":"mytv","name":"menu_mytv"},{"id":"li","name":"李四"}]
例2:
console.log(JSON.stringify(navList.pop()))
3
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"zhang","name":"张"},{"id":"mytv","name":"menu_mytv"}]
例3:
console.log(JSON.stringify(navList.push({"id":"li","name":"李四"},{"id":"wang","name":"王五"})))
console.log(JSON.stringify(navList))
[{"id":"search","name":"search"},{"id":"zhang","name":"张"},{"id":"mytv","name":"menu_mytv"},{"id":"li","name":"李四"},{"id":"wang","name":"王五"}]
四、unshift方法可向数组的开头添加,添加一个或多个元素,并返回新的长度.类似push就不举例了。
五、concat连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var arr = new Array(3)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"var arr2 = new Array(3)arr2[0] = "James"arr2[1] = "Adrew"arr2[2] = "Martin"var arr3 = new Array(2)arr3[0] = "William"arr3[1] = "Franklin"document.write(arr.concat(arr2,arr3)
)
George,John,Thomas,James,Adrew,Martin,William,Franklin