IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript数组的增删方法 -> 正文阅读

[JavaScript知识库]JavaScript数组的增删方法

1.给数组添加元素

1.1 在数组末尾添加一个固定元素

在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组

输入:[1, 2, 3, 4], 10

输出:[1, 2, 3, 4, 10]

方法:

  1. 给arr末尾添加元素,首先我们可以想到用push方法添加。
  2. 用splice()方法添加。splice()这个方法可增可删数组元素。
  3. 用concat()在末尾或者开头添加值或者数组。
  4. 扩展运算符提供了数组合并的新写法。[...arr, item]。在添加元素的时候跟concat的用法一样。
function append(arr, item) {
//法一
//复制arr数组给a
  var a =arr.slice(0);
    a.splice(arr.length,0,item);
  console.log(a)  
//法二
// var a =arr.slice(0);
//     a.splice(arr.length,0,item);
//   return a;

//法三
//return arr.concat(item);
//法四
 //return [...arr, item];
}
append([1,2,3,4],10);

?1.2在数组中对一个索引添加对应的数据

在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组

输入:[1, 2, 3, 4], 'z', 2

输出:[1, 2, 'z', 3, 4]

方法:

  1. slice()+splice()
  2. 扩展运算符+splice()
function insert(arr, item, index) {
//使用slice()+splice()
var a=arr.slice(0);
a.splice(index,0,item);
    return a;
//  使用扩展运算符+splice()
//   let newArr = [...arr];
//    newArr.splice(index, 0, item);
//    return newArr;
}
}

2.删除数组元素

2.1删除指定元素

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

输入:[1, 2, 3, 4, 2], 2

输出:[1, 3, 4]

?方法:

1.题目的意思是移除数组中的相等元素,那我们可以逆向思维,那么意味着新数组中的元素不等于item,因此新建一个数组,然后进行循环判断。将不等于item的元素放进去,返回即可。给新数组放入元素用push()方法。

2.filterfilter()?方法创建一个包含通过测试的数组元素的新数组。

法一

function remove(arr, item) {
 var a=[];
 for(var i=0;i<arr.length;i++){
     if(arr[i]!=item)
       {a.push(a[i])}
 }
    return a;
}

法二?

function remove(arr, item) {
return arr.filter( function a()=>{a!=item} )
}

2.2删除数组最后一个元素

方法

  1. slice(0,-1)
  2. filter(),如果数组的索引不是最后一个,那就返回
  3. pop()
//利用slice
function truncate(arr) {
    return arr.slice(0,-1);
}
//利用filter
function truncate(arr) {
    return arr.filter(function(v,i,ar) {
//如果数组的索引不是最后一个,那就输出
        return i!==ar.length-1;
    });
}
//利用pop()
function truncate(arr) {
var a=arr.slice(0);
 a.pop();
    return a;
}

2.3删除数组第一个数据

//利用slice(1),表示裁切掉第一个数据,保留剩下的数据作为新数组
function curtail(arr) {
    return arr.slice(1);
}
//利用filter,如果索引不等于0,那就输出到新数组
function curtail(arr) {
    return arr.filter(function(v,i) {
        return i!==0;
    });
}
//用shift()
function curtail(arr) {
     //复制数组arr
     var a = arr.slice(0);
     a.shift();
     return a;
 }
//用splice
function curtail(arr) {
var a =arr.slice(0);
  a.splice(0,1)
    return a
}
//用扩展运算符
 function curtail(arr) {
    let newArray = [...arr];
    newArray.shift();
    return newArray;
}

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:22:02  更:2021-08-31 15:22:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:05:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码