博客
关于我
第7章 JavaScript数组
阅读量:668 次
发布时间:2019-03-16

本文共 1851 字,大约阅读时间需要 6 分钟。

JavaScript 数组操作指南

一、数组的基本创建

在 JavaScript 中,数组是一个内置的数据结构,常用于存储和操作一系列相关数据。以下是创建数组的几种常见方式:

1. 无初始值的空数组

var obj = new Array();

这是最简单的方式,创建一个空数组。虽然不会预先分配存储空间,但在实际使用时会根据需要进行扩充。

2. 指定长度的数组

var obj = new Array(Size);

这里的 Size 是一个表示新的数组元素个数的变量。如果仅指定长度但不具体填充元素,数组内部不会预先分配存储空间。可以理解为,只有当真正将元素添加到数组中时,才会分配相应的内存,这与 C 语言的行为一致。

3. 初始化指定元素的数组

var obj = new Array(元素1, 元素2, ..., 元素N);

通过在新数组中直接指定初始元素,可以直接创建且内容丰富的数组。例如:var students = new Array("Peter", "Tom", "Vicky", "Jet");

4. 直接创建数组

var students = ["Peter", "Tom", "Vicky", "Jet"];

这种方式更为简洁,适用于已经明确知道数组内容的情况。


二、数组元素的增删改查

1. 向数组尾部添加元素

arrayName.push(元素);

可以一次添加多个元素:var students = new Array(); students.push("Lily");// 添加单个元素students.push("Kate", "HanMei", "LuBan"); // 一次添加多个元素

2. 删除数组元素

delete arrayName[下标];

使用 delete 语法删除指定位置的元素。数组索引若超过范围,操作不执行且不会报错。

3. 删除数组首尾元素

  • 从尾部删除并获取元素: arrayName.pop();
  • 从头部删除并获取元素: arrayName.shift();

4. 在数组头部添加元素

arrayName.unshift([元素1, [元素2, [元素3, ..., [元素N]]]]);

与 pop() 在尾部添加元素对应。

5.Array 拼接操作

arrayName.concat([项目1, [项目2, [项目3, ..., [项目N]]]]);

concat() 方法用于将数组末尾追加其他项目,支持数组或单个元素。


三、数组操作方法

1. 切分、插入、替换、结合数组数据

arrayName.splice(start, deleteCount, [元素1, [元素2, ..., [元素N]]]);

  • start:指定从哪个位置开始剪切。
  • deleteCount:删除的元素个数。
  • item:可选项,在切剪处插入元素。

2. 获取数组中的一部分元素

arrayName.slice(start, [end]);

  • start:从哪个位置开始切取。
  • end:切取的元素个数(可选,若不指定,默认至数组末尾)。

3. 数组元素排序

array.sort([sortFunction]);

sortFunction 是一个回调函数,可自定义排序规则。默认按字符串ASCII 顺序升序排列。

4. 翻转数组

var newQueue = queue.reverse();

reverse() 方法按原数组反向返回新数组,原数组内容保持不变。

5. 邿 VERBOSEBean 将对象转换为本地字符串

obj.toLocaleString();

适用于 Array、Date、Number、Object 类型对象,根据本地环境转换为字符串。


笔记

  • 数组操作方法返回值处理

    • push(), pop(), shift(), unshift() 等方法执行后均返回操作结果,需注意处理返回值。
  • 数组的动态性

    • JavaScript 之间的数组最邻近于列表的结构,既支持固定长度的(如 C 模型),也支持动态扩展的操作。
  • 与其他语言的区别

    • 与 C 类语言不同,JavaScript 的数组不会预先分配存储空间,只有在实际添加元素时才会分配。
  • 安全性

    • 使用 arrays.splice() 时谨慎,确保 start 索引在合理范围内,避免索引越界引发异常。
  • 通过合理运用这些方法,可以有效地管理和操作 JavaScript 数组,提升代码可读性与效率。

    转载地址:http://jimqz.baihongyu.com/

    你可能感兴趣的文章
    Qt 在Excel文件中Chart绘图
    查看>>
    TCP 详解
    查看>>
    解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”
    查看>>
    U3D时间
    查看>>
    U3D资源加载
    查看>>
    音频优化(简短版本)
    查看>>
    01-webpack5理解及配置
    查看>>
    JavaScript作用域和作用域链
    查看>>
    STM32F103 实例应用(6)——通信概念
    查看>>
    洛谷 P1020 导弹拦截 (LIS)
    查看>>
    idea 出现错误 Invalid bound statement (not found)
    查看>>
    idea webstorm破解 激活
    查看>>
    Linux基础命令(一)
    查看>>
    推荐学习Python的网站
    查看>>
    二叉树排序树的操作
    查看>>
    Eclipse运行别人项目出错,即tomcat和jdk不匹配
    查看>>
    JUC-1.2-线程池-钩子方法的使用
    查看>>
    Pytorch学习笔记(二)自用
    查看>>
    html5 h5学习总结
    查看>>
    webpack的安装和使用
    查看>>