前端数组操作

admin2个月前 (05-14)it知识143

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知识

相关文章

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

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

敏捷开发

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

如何高效学习

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

马斯洛理论

生理需求是最低层次的需求,包括人类维持自身生存的最基本要求,包括饥、渴、衣、住、性、健康方面的需求。安全需求包括两个层次,一是归属的需要,即人都有一种归属于一个群体的感情,希望成为群体中的一员,并相互...

双因素理论

双因素理论是美国心理学家弗雷德里克·赫兹伯格(Frederick·Herzberg)于20世纪50年代后期提出的,这一理论的研究重点是组织中的人与工作的关系问题。双因素理论包括保健因素和激励因素。保健...

故事分解结构

故事分解结构是一种用于分析、设计和编写故事的方法,它可以将故事分解为不同的层次,从而更好地理解故事的内在逻辑和结构。下面是故事分解结构的详细解释:节拍(beat):是故事的最小单位,包含动作和反应两个...

发表评论

访客

看不清,换一张

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