当前位置:首页 > JavaScript

js数组 实现

2026-04-05 09:42:39JavaScript

数组创建

使用字面量直接创建数组:

const arr1 = [1, 2, 3]; // 包含数字的数组  
const arr2 = ['a', 'b', 'c']; // 包含字符串的数组  

通过 Array 构造函数创建:

const arr3 = new Array(3); // 创建长度为3的空数组  
const arr4 = new Array(1, 2, 3); // 等同于 [1, 2, 3]  

数组操作

添加/删除元素

  • push() 在末尾添加元素:
    arr1.push(4); // arr1变为 [1, 2, 3, 4]  
  • pop() 删除末尾元素:
    arr1.pop(); // 返回4,arr1变回 [1, 2, 3]  
  • unshift() 在开头添加元素:
    arr1.unshift(0); // arr1变为 [0, 1, 2, 3]  
  • shift() 删除开头元素:
    arr1.shift(); // 返回0,arr1变回 [1, 2, 3]  

数组遍历

使用 forEach 遍历:

arr1.forEach(item => console.log(item)); // 依次输出1, 2, 3  

使用 map 生成新数组:

const doubled = arr1.map(item => item * 2); // 返回 [2, 4, 6]  

数组查找

  • includes() 检查元素是否存在:
    arr1.includes(2); // true  
  • find() 查找符合条件的元素:
    const found = arr1.find(item => item > 1); // 返回2  

数组转换

  • join() 转换为字符串:
    arr1.join('-'); // 返回 "1-2-3"  
  • split() 字符串转数组(字符串方法):
    'a,b,c'.split(','); // 返回 ['a', 'b', 'c']  

多维数组

创建和访问多维数组:

const matrix = [[1, 2], [3, 4]];  
console.log(matrix[0][1]); // 输出2  

数组排序

使用 sort() 排序(默认按Unicode码点):

const nums = [3, 1, 2];  
nums.sort((a, b) => a - b); // 返回 [1, 2, 3]  

数组过滤

使用 filter() 筛选元素:

const filtered = arr1.filter(item => item % 2 === 0); // 返回 [2]  

数组合并

使用 concat() 或扩展运算符:

const merged = arr1.concat([4, 5]); // 返回 [1, 2, 3, 4, 5]  
const merged2 = [...arr1, ...arr2]; // 合并arr1和arr2  

数组解构

从数组中提取值:

js数组 实现

const [first, second] = arr1; // first=1, second=2  

标签: 数组js
分享给朋友:

相关文章

vue实现检测数组

vue实现检测数组

检测数组变化的方法 在Vue中,可以通过多种方式检测数组的变化。Vue本身对数组的某些方法进行了响应式处理,但某些情况下需要手动触发更新或使用特定方法。 使用Vue.set或this.$set 对于…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…