只有数组可以用,是官方提供的 直接拿来用
学习数组的增删改需要注意的地方
1. 方法的返回值
2. 是否影响原数组(有的方法在原数组的基础上进行修改 , 有的方法创建了一个新数组并不影响原来的数组)
例如:
var list = [1, 2, 3];
var arr = [];
for (var i = 0; i < list.length; i++) {
arr[arr.length] = list[i];
}
arr[arr.length] = 4; //arr[arr.length]是数组的递增,arr.length是数组最大长度
console.log(list); //不影响原数组
console.log(arr);
push()方法:
//push() 在数组尾部添加一个或多个元素
//返回值 新增元素后数组的长度
//是否影响原数组 影响
var list = ["x","y","z",6];
var result = list.push(7,8,9);
console.log(result);
console.log(list); //["x","y","z",6,7,8,9]
unshift()方法:
//unshift(); 在数组头部添加一个或多个元素
//返回值 新增元素后数组的长度
//是否影响原数组 影响
var list = ["a","b","c",1];
var result = list.unshift("cao");
console.log(result);
console.log(list);
pop()方法:
//pop() 删除数组尾部的元素(一次删除一个)
//返回值 被删除的元素
//是否影响原数组 影响
// var list = ["a","b","c",1,"哈哈"];
// var result = list.pop();
// console.log(result);
// console.log(list);
shift()方法:
//shift() 删除数组头部的元素(一次删除一个)
//返回值 被删除的元素
//是否影响原数组 影响
var list = ["x","y","z",1,"哈哈"];
var result = list.shift();
console.log(result);
console.log(list);
splice() 同时实现 任意位置增删改
splice() 删除
splice(startIndex,length) 删除 startIndex 起始下标 , length 删除元素的个数
从下标为 startIndex 的位置开始 删除 length个元素
var list = ["x","y","z",1,"哈哈"];
var result = list.splice(4,1); //从下标为4的位置开始删除一个
console.log(result);
console.log(list);
slice()方法:
slice(startIndex,endIndex) [startIndex,endIndex] 数组的裁切/截取
startIndex 起始下标(如果不设置,默认值 为0)
endIndexIndex 起始下标(如果不设置 默认值 为 length)
返回值 被裁切的元素形成的新数组
是否影响原数组 不影响
var list = ["a", "b", "c", "d", "e", "f"];
console.log(list);
var result = list.slice(1, 4); // index>=1 && index<3
var result = list.slice(); // 如果不传参 默认 会得到一个与原数组相同的新数组
console.log(result);
console.log(list);
concat()方法:
concat() 数组的拼接 (将多个数组,元素 拼接起来形成一个新数组, 如果是数组则展开数组将每个元素放到新数组中 如果不是数组则直 接放到新数组中)
返回值 拼接后的新数组
是否影响原数组 不影响
var list = ["a", "b", "c"];
var arr = ["x", "y", "z"];
var numList = [1, 2, 3];
var result = list.concat(arr, "哈哈", numList);
// var result = list.push(arr, "哈哈", numList); // 如果传了数组,push()不会把数组展开
var result = list.concat(); // 如果不传参 默认 会得到一个与原数组相同的新数组
console.log(result);
reverse()方法:
// reverse() 数组反转/翻转
// 返回值 反转后的原数组
// 是否影响原数组 影响
// var list = [“a”, “b”, “c”, “d”, “e”, “f”]; // [ f,e,d,c,b,a]
// console.log(list);
// var result = list.reverse();
// console.log(result);
// console.log(list);
join()方法:
// join() 数组转化为字符串(用特定的字符将数组拼接形成一个字符串)
// 返回值 字符串
// 是否影响原数组 不影响
var list = ["a", "b", "c", "d", "e", "f"];
var result = list.join("-");
var result = list.join("/");
var result = list.join("");
var result = list.join(); // 如果不传参默认用","分隔
console.log(result);
includes()方法:
//includes() 判断数组中是否包含某个元素 包含返回true 不包含返回false
// 返回值 true/false
// 是否影响原数组 不影响
var list = ["a", "b", "c", "d", "e", "f"];
var result = list.includes("h");
console.log(result); //false
indexOf()方法:
// indexOf() 判断数组中是否包含某个元素(默认查找对应元素第一次出现的位置) 存在返回对应元素的下标 不存在返回 -1
var list = ["a", "b", "d", "c", "d", "e", "f"];
var index = list.indexOf("d");
console.log(index); //2