var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
var length = arr.length
join() 数组转字符串 不会影响原数组
join()
var result = arr.join();
join("符号") 用什么符号分割字符串 不会影响原数组
var result2 = arr.join(" ");
console.log(arr);
console.log(result);//1,2,3,4,5,6,7,8,9,0
console.log(result2);//1 2 3 4 5 6 7 8 9 0
reverse() 数组反转 影响原数组(和反转后一致)
var result = arr.reverse();
console.log(result);//[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]
console.log(arr);//[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]
concat() 合并数组 不会影响原数组
var arr2 = ["a", "b", 'c']
var result = arr.concat(arr2)
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(arr2);//["a", "b", "c"]
console.log(result);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, "a", "b", "c"]
slice(start, end) 不会影响原数组
为正数时
一个值时 slice(2) 截取并返回新数组 arr[2]到arr[length - 1]
var result = arr.slice(2)
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);[3, 4, 5, 6, 7, 8, 9, 0]
两个值时 slice(2,6) 截取并返回新数组 arr[2]到arr[6 - 1]
var result = arr.slice(2, 6)
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//[3, 4, 5, 6]
为负数时
一个值 截取并返回新数组 arr[length - 1]到arr[length - 2]
var result = arr.slice(-2)
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//[9, 0]
// 两个值时 slice(-5, -2) 截取并返回新数组 arr[length - 5]到arr[length - 1 - 2]
var result = arr.slice(-5, -2)
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);// [6, 7, 8]
splice() 会影响原数组
一个值splice(3) 截取并返回新数组 arr[3]到arr[length - 1]
var result = arr.splice(3)
console.log(arr); // [1, 2, 3]
console.log(result);//[ 4, 5, 6, 7, 8, 9, 0]
两个值时 splice(2,6) 截取并返回新数组 arr[2]到arr[6 + 2 - 1]
理解:splice(开始下标,个数)
var result = arr.splice(2, 6)
console.log(arr); //[1, 2, 9, 0]
console.log(result);//[3, 4, 5, 6, 7, 8]
多个值时 第二位以后 为添加的内容
var result = arr.splice(2, 6, 10, 200, 3000)
console.log(arr); //[1, 2, 10, 200, 3000, 9, 0]
console.log(result);//[3, 4, 5, 6, 7, 8]
unshift() 开头添加一个或多个元素 返回新数组长度 会影响原数组
var result = arr.unshift(10);
console.log(arr); //[10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//11
push() 末尾添加一个或多个元素 返回新数组长度 会影响原数组
var result = arr.push(10)
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 10]
console.log(result);//11
shift() 开头删除一个 返回删除的元素 会影响原数组
var result = arr.shift();
console.log(arr); //[2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//1
pop() 末尾删除一个 返回删除的元素 会影响原数组
var result = arr.pop();
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(result);//0
indexOf()从头查找和lastIndexOf()从尾部查找
var result = arr.indexOf(0)
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//9
var result = arr.lastIndexOf(1)
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//0
toString()和toLocaleString() 转化成字符串
var result = arr.toString()
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//1,2,3,4,5,6,7,8,9,0
var result = arr.toLocaleString()
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
console.log(result);//1,2,3,4,5,6,7,8,9,0