前端数组操作

admin7个月前 (05-14)it知识504

JavaScript数组是前端开发中最常用的数据结构之一,下面我将详细介绍数组的创建、操作和常用方法。


一、数组创建方式

  1. 字面量创建‌(最常用方式):

var arr1 = []; // 空数组var arr2 = [1, 2, 3]; // 带初始值
  1. 构造函数创建‌:

var arr3 = new Array(); // 空数组var arr4 = new Array(4); // 长度为4的空数组var arr5 = new Array(15, 16, 17); // 带初始值

ES6新增的Array.of()‌:

let arr6 = Array.of(1, 2); // [1, 2]let arr7 = Array.of(3); // [3]


二、数组基本操作方法

增删元素方法

  1. push()‌ - 末尾添加元素,返回新长度

const arr = [1, 2, 3];arr.push(4, 5); // [1, 2, 3, 4, 5]
  1. pop()‌ - 删除并返回最后一个元素

const last = arr.pop(); // 5, arr变为[1, 2, 3, 4]

      unshift()‌ - 开头添加元素,返回新长度

arr.unshift(0); // [0, 1, 2, 3, 4]

     shift()‌ - 删除并返回第一个元素

const first = arr.shift(); // 0, arr变为[1, 2, 3, 4]

‌     splice()‌ - 指定位置增删元素

// 从索引1开始删除2个元素,并插入'a','b'arr.splice(1, 2, 'a', 'b'); // [1, 'a', 'b', 4]

其他常用方法

‌concat()‌ - 合并数组,不改变原数组

const newArr = arr.concat([5, 6]); // [1, 'a', 'b', 4, 5, 6]

join()‌ - 数组转字符串

const str = arr.join('-'); // "1-a-b-4"

slice()‌ - 截取子数组

const subArr = newArr.slice(1, 3); // ['a', 'b']

reverse()‌ - 反转数组

newArr.reverse(); // [6, 5, 4, 'b', 'a', 1]

三、高阶数组方法

  1. map()‌ - 映射新数组

  2. const ids = tableData.map(v => v.id); // 提取id数组

    filter()‌ - 过滤数组

  const nums = [1, 2, 3, 4].filter(n => n > 2); // [3, 4]

‌     forEach()‌ - 遍历数组

  nums.forEach(n => console.log(n));

     find()/findIndex()‌ - 查找元素/索引

  const found = nums.find(n => n === 3); //3

四、数组使用场景

  1. 格式化后端数据

  2. const formatted = rawData.map(item => ({  ...item,  yearMonth: item.date.split('-').slice(0, 2).join('-')}))
  3. 实现栈和队列

  4. 栈:push()/pop()

  5. 队列:push()/shift()

      数据转换

  const typeMap = {aaa: "审核通过", bbb: "审核不通过"};   const formattedType = rawType.map(v => typeMap[v] || v);


标签: 分享IT知识

相关文章

灵动:生活中的艺术与智慧

在这个充满变化的世界里,灵动是一种独特的魅力,它让我们的生活更加丰富多彩,充满了可能性和创意。灵动不仅是一种艺术,更是一种智慧,它存在于我们的思维、情感和行动中。首先,灵动是一种艺术。在我们的生活中,...

夏天的台风

夏天,是一个充满活力和生命力的季节,但同时也伴随着台风的出现。每年的这个时期,台风如同一股强大的自然力量,给人们的生命和财产带来了一定的威胁。在台风的肆虐中,可以看到大自然的威力与无情。台风带来的强风...

敏捷开发

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可...

如何学习 javascript

学习JavaScript需要以下步骤:基础语法:学习JavaScript的基础语法,包括变量、数据类型、函数、循环、条件语句等。DOM 操作:学习如何操作 DOM,例如获取和修改元素、添加和删除事件处...

如何高效学习

努力和技巧的能力。以下是一些可以帮助你高效学习的方法:制定学习计划:制定一个清晰的学习计划,包括学习内容和时间表,有助于你更好地组织自己的学习并提高学习效率。创造良好的学习环境:在学习时,尽可能避免干...

收集需求

在一个阳光明媚的周末,一家软件开发公司决定为他们的产品添加新功能。产品经理决定召集团队成员进行一次需求收集会议,以便更好地了解用户需求并为未来的开发做好准备。会议当天,团队成员聚集在会议室,桌上放着一...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。