前端数组操作

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);


标签:

相关文章

沟通的模型

7C模型:这是一种在商业沟通中常见的模型,旨在确保信息在传递过程中清晰、简明、准确、一致、可信、可理解和有说服力。沟通的五个W和一个H:何人(Who)何事(What)何地(Where)何时(When)...

Vue3 的生命周期钩子

Vue3 的生命周期钩子函数是组件从创建到销毁过程中各个阶段的关键节点,以下是主要特点和使用方式:一、核心生命周期钩子(Composition API)setup()替代了 Vue2 的 before...

前端领域的新技术

2025年前端领域的新技术和热点趋势主要集中在以下几个方面:一、前沿框架技术‌React Server Components(RSC)‌ - 允许组件在服务器端渲染,显著减少客户端JS体积,提升首屏加...

PHP 优化

一、核心优化方向‌代码层面优化‌‌减少冗余计算‌:避免循环内重复计算,如提前计算不变值($count = count($array))。‌善用内置函数‌:优先使用PHP内置函数(如array_uniq...

gibbon

n. [脊椎] 长臂猿\nn. (Gibbon)人名;(英、葡、匈、塞、巴基)吉本gibbon 长臂猿词源不详,由18世纪法国驻印度总督将该词引进印度。来自可能常用名Gilbert的昵称。gibbon...

前端与PHP的奇妙冒险:每天解锁新技能!

CSS动画初体验  想让你的网站看起来更酷炫吗?来试试CSS动画吧!通过简单的几行代码,就能让你的网页元素动起来,比如按钮点击时的特效、加载动画等。这不仅能让用户体验更佳,还能大大提升网站的...