美文网首页
数组的增删改查

数组的增删改查

作者: Red_b759 | 来源:发表于2019-12-25 14:31 被阅读0次

一.学习数组的拓展方法需要 注意两个地方

  1. 方法的返回值
  2. 是否改变原数组 (有的是直接改变原数组 有的是形成新的数组)

二.数组中 元素的 增删改查

  1. push()尾部删除
    push() 在数组尾部添加一个或多个元素
    返回值 新增元素后数组的长度
    是否改变原数组 改变
var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);
// list[list.length]
var result = list.push("x", "y", "z");  
console.log(result);
console.log(list);

2.unshift()头部增加
unshift() 在数组头部添加一个或多个元素
返回值 新增元素后数组的长度
是否改变原数组 改变

var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);
var result = list.unshift("x", "y", "z");
console.log(result);
console.log(list);

3.pop()尾部删除
pop() 删除数组尾部的元素
返回值 被删除的元素
是否改变原数组 改变

var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);

var result = list.pop();
console.log(result);
console.log(list);
  1. shift() 删除数组尾部的元素
    返回值 被删除的元素
    是否改变原数组 改变
var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);

var result = list.shift();
console.log(result);
console.log(list);

5.splice() 增删改

5.1 删除
splice(startIndex,n) 从下标为 startIndex的位置开始 删除n 个元素
返回值 被删除的元素 形成新的的数组
是否改变原数组 改变

    var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
    console.log(list);

    var result = list.splice(5, 2);

    console.log(result);
    console.log(list);

5.2 新增
splice(startIndex,0,item1,item2,item3 ... itemN)
从下标为 startIndex的位置开始 删除0 个元素,再增加一个或多个元素
返回值 []
是否改变原数组 改变

var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);

var result = list.splice(5, 0, "x", "y");

console.log(result);
console.log(list);

5.3 修改
splice(startIndex,n,item1,item2,item3 ... itemN)
从下标为 startIndex的位置开始 删除n 个元素,再增加一个或多个元素
返回值 被删除的元素 形成新的的数组
是否改变原数组 改变

var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);

var result = list.splice(5, 1, 50);

console.log(result);
console.log(list);
  1. slice()方法
    slice(startIndex,endIndex)
    [startIndex,endIndex) 数组的裁切 (将数组中的某一段 拿出来)
    startIndex 起始下标 startIndex默认为0
    endIndex 结束下标 endIndex 默认值是length

返回值 被裁切的元素形成的新数组
是否改变原数组 不改变

var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];
console.log(list);
// var result = list.slice(3, 6);

var result = list.slice();

console.log(result);
console.log(list);
  1. concat() 数组的拼接/合并 (如果参数是单个元素 直接拼接到新数组中去 如果参数是数组的话,会把数组的元素合并到新数组中)

返回值 拼接后形成的新数组
是否改变原数组 不改变

var list = [54, 68, 46, 75, 36, 20, 65, 11, 79, 45];   console.log(list);
var arr = ["a", "b", "c"];

 var result = list.concat("x", "y", arr);

 console.log(result);
 console.log(list);
  1. reverse() 数组的翻转/反转
    返回值 反转后的原数组
    是否改变原数组 改变
//=>  ["f","e","d","c","b","a"];
var list = ["a", "b", "c", "d", "e", "f"]; 
console.log(list);

var result = list.reverse();
console.log(result);
console.log(list);
  1. includes() 包含 判断数组中是否包含某个元素 包含返回 true 不包含返回 false
var list = ["a", "b", "c", "d", "e", "f"];

var result = list.includes("f1");
console.log(result);
console.log(list);
  1. indexOf() 包含 判断数组中是否包含某个元素 包含返回就返回该元素的下标 不包含返回 -1
var list = ["a", "b", "c", "d", "e", "f"];

var result = list.indexOf("f1");
console.log(result);
console.log(list);

相关文章

网友评论

      本文标题:数组的增删改查

      本文链接:https://www.haomeiwen.com/subject/dciqoctx.html