关于数组的那些操作
let arr = [1,2,3]
arr.push('a')
console.log(arr) //[1,2,3,'a']
let arr = [1,2,3]
arr.unshift('a')
console.log(arr) //['a',1,2,3]
let arr = [1,2,3,'a']
let item = arr.pop()
console.log(arr) // [1,2,3]
console.log(item) //'a'
let arr = ['a',1,2,3]
let item = arr.shift()
console.log(arr) // [1,2,3]
console.log(item) //'a'
let arr1 = [1,2,3,4]
let arr2 = ['a','b','c','d']
let arr3 = arr1.concat(arr2)
console.log(arr3) //[1,2,3,4,'a','b','c','d']
let arr = [1,2,3]
let str = arr.join('加') //反正是字符串都是可以,不限文字符号
console.log(str) //1加2加3
console.log(arr) // [1,2,3]
let arr = [1,2,3,4,5]
arr.reverse()
console.log(arr) //[5,4,3,2,1]
这里传的参必是函数
若不传参的话,则按字母顺序(字符编码的顺序)对数组中的元素进行排序,实际将每个值都转换成字符串进行比较
传参的话,需要提供比较函数该函数要比较两个值),返回一个用于说明这两个值的相对顺序的数字。利用参数a,b进行相减,其返回值如下:若 a 小于 b,则返回一个小于 0 的值。a在前
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。b在前
一般只用来比较数字
没传参情形
//情况1(纯字母)
let arr = ['a','c','b']
arr.sort()
console.log(arr) // ['a','b','c']
//纯数字
let arr1 = [5,4,1,3]
arr1.sort() //[1,3,4,5]
// 特殊的
let arr 2 = [1,2,3,11,5]
arr2.sort() //[1,11,2,3,5]
//出现这样的情况是因为,数组的每个值都被转换成字符串,可以理解为因为'11'的1小于2,3,5,
传参情形
let arr = [5,4,1,3]
function sortTest(a,b)
{
return a - b
}
arr.sort(sortTest) //[1,3,4,5]
参数为选取开始下标(start)以及选取结束下标(end)
start 为必填项,若为负数,则从倒数开始算起,若为正数获取的值是不包括当前该下标的值
end 非必填项,若不填,则直接获取到数组结尾的值
let arr = [1,2,3,4]
let item1 = arr.slice(1,3)
let item2 = arr.slice(-2)
let item3 = arr.splice(1)
console.log(item1) // [2,3]
console.log(item2) // [3, 4]
console.log(item3) // [2, 3, 4]
let arr1 = [1,2,3,4]
let item1 = arr1.splice(1,2)
console.log(arr1) // [1, 4]
console.log(item1) // [2, 3]
let arr2 = [1,2,3,4]
let item2 = arr2.splice(1,2,8,10,5)
console.log(arr2) // [1, 8, 10, 5, 4]
console.log(item2) // [2, 3]
若有不对的地方,还请及时指出