近来空闲,总结一下js对数组的操作吧:
push方法将数据添加到数组末尾,并返回数组的长度,它会改变原数组
unshift方法将数据添加到数组开头,并返回数组的长度,它会改变原数组
array_push() {
let a = [1,2,3]
let b = a.push(4)
conrole.log(a,b) //[1,2,3,4]4
},
array_unshift() {
let a = [1,2,3]
let b = a.push(4)
conrole.log(a,b) //[4,1,2,3]4
},
delete 删除数组中的所给下标的一项,不会改变数组长度,所删除的一项为empty,返回布尔值
shift 删除数组的第一项,并返回所删除项,如果原数组为空,则返回undefined
pop 删除数组的最后一项,并返回所删除项,如果原数组为空,则返回undefined
array_delete() {
let a = [1,2,3]
console.log(a,delete a[0]) //[empty, 2, 3] true
},
array_shift() {
let a = [1,2,3]
let b = a.shift()
console.log(a,b) //[2, 3] 1
},
array_pop() {
let a = [1,2,3]
let b = a.pop()
console.log(a,b) //[1, 2] 3
},
concat 返回一个新数组,将新参数或新数组添加到原数组末尾,不改变原数组
array_concat() {
let a = [1,2,3]
let b = a.concat(6,7)
let c = [4,5]
let d = a.concat(c)
console.log(a,b,d) //[1, 2, 3] (5) [1, 2, 3, 6, 7] (5) [1, 2, 3, 4, 5]
},
splice(start,num,val1,val2,...):从start位置开始删除num项(包含起始位置项),并从该位置起插入val1,val2,...,返回所删除项,改变原数组,参数均为非必选参数,如果参数1(此为数组下标)不选默认为从数组开头,参数2不写默认为删除开始位置后的所有项,val参数不写就不替换
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组,不改变原数组,参数均为非必选参数,如果参数1(此为数组下标)不选默认为从数组开头,参数2不写默认为截取开始位置后的所有项
array_splice() {
let a = [1,2,3]
let b = a.splice(1,2,6,7)
console.log(a,b) //[1, 6, 7] [2, 3]
},
array_slice() {
let a = [1,2,3]
let b = a.slice(1,2)
console.log(a,b) //[1, 2, 3] [2]
},
toString 返回将数组转化为字符串的值,不改变原数组
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
array_toString () {
let a = [1,2,3,4]
let b = a.toString ()
console.log(a,b) //[1, 2, 3, 4] "1,2,3,4"
},
array_join () {
let a = [1,2,3,4]
let b = a.join ('/')
console.log(a,b) //[1, 2, 3, 4] "1/2/3/4"
},
reverse:将数组反序 ,改变原数组
sort(orderfunction):按指定的参数对数组进行排序 ,改变原数组
array_reverse () {
let a = [1,2,3,4]
let b = a.reverse ('/')
console.log(a,b) //[4, 3, 2, 1] (4) [4, 3, 2, 1]
},
array_sort () {
let a = [1,6,3,4]
let b = a.sort ()
console.log(a,b) //[1, 3, 4, 6] (4) [1, 3, 4, 6]
},
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。方法按照原始数组元素顺序依次处理元素。不会对空数组进行检测。不会改变原始数组。
array_map () {
let a = [1,2,3,4]
let b = a.map( (item) => {
return item * 10
})
console.log(a,b) //[1, 2, 3, 4] (4) [10, 20, 30, 40]
},
未完待续。。。突然忙了