当前位置: 首页 > news >正文

14.JS数组操作实战手册:创建、访问、新增、删除代码示例全收录

目录

一、创建数组

二、获取数组元素

三、新增数组元素

通过修改 length新增

通过下标新增

使用 push进行追加元素

四、删除数组中的元素


一、创建数组

  1. 使用new关键字创建

    // Array 的 A 要大写

    var arr = new Array();

  2. 使用字面量方式创建(常用)

    var arr = [];

    var arr2 = [1, 2, 'haha', false]; // 数组中保存的内容称为 "元素"

  3. 注意:JS 的数组不要求元素是相同类型。

    这一点和 C, C++, Java 等静态类型的语言差别很大. 但是 Python, PHP 等动态类型语言也是如此.

<script> let array = new Array(); let array1 = [1, 2, 3, "4"] </script>

二、获取数组元素

使用下标的方式访问数组元素(从 0 开始)

var arr = ['小猪佩奇', '小羊苏西']; console.log(arr); console.log(arr[0]); console.log(arr[1]); arr[2] = '小猫凯迪'; console.log(arr);

如果下标超出范围读取元素,则结果为 undefined

console.log(arr[3]); // undefined console.log(arr[-1]); // undefined

注意:不要给数组名直接赋值,此时数组中的所有元素都没了。

新示例:

<script> let array = new Array(); let array1 = [1, 2, 3, "4"] console.log(typeof(array1)) console.log(array1) console.log(array1[2]) // 这个代码放到Java中,会抛出来一个数组越界的异常 console.log(array1[-10]) array1 = "bit" console.log(typeof(array1)) console.log(array1) </script>

输出结果:

object (4) [1, 2, 3, "4"] 3 undefined string bit

三、新增数组元素

通过修改length新增

  1. 相当于在末尾新增元素. 新增的元素默认值为 undefined

var arr = [9, 5, 2, 7]; arr.length = 6; console.log(arr); console.log(arr[4], arr[5]);

输出结果:

(6) [9, 5, 2, 7, empty × 2] undefined undefined
<script> let array = [1, 2, 3, 4] array.length = 10; console.log(array) array[7] = 8 console.log(array) </script>

输出结果:

(10) [1, 2, 3, 4, empty × 6] (10) [1, 2, 3, 4, empty × 3, 8, empty × 2]
  1. 通过下标新增

    如果下标超出范围赋值元素,则会给指定位置插入新元素

var arr = []; arr[2] = 10; console.log(arr)

输出结果:

此时这个数组的 0 和 1 都是 undefined

常规的数组赋值如下:

<script> let array = new Array() console.log(array) for(i = 0; i < 100; i++) { array[i] = i; } console.log(array) </script>

就此可以通过下标为数组新增元素:

<script> let array = new Array() console.log(array) for(i = 0; i < 10; i++) { array[i] = i; } array[20] = 20; console.log(array) </script>
  1. 使用push进行追加元素

    代码示例:给定一个数组,把数组中的奇数放到一个 newArr 中。

<script> var arr = [9, 5, 2, 7, 3, 6, 8]; var newArr = []; for (var i = 0; i < arr.length; i++) { if (arr[i] % 2 != 0) { newArr.push(arr[i]); } } console.log(newArr); </script>
<script> let array = new Array() console.log(array) for(i = 0; i < 10; i++) { array[i] = i; } let new_array = new Array() // 将array中所有的元素追加到new_array中 for(i = 0 ;i < array.length; i++) { new_array.push(array[i]) } console.log(new_array) </script>

四、删除数组中的元素

使用splice方法删除元素

var arr = [9, 5, 2, 7]; // 第一个参数表示从下表为 2 的位置开始删除,第二个参数表示要删除的元素个数是 1 个 arr.splice(2, 1); console.log(arr); // 结果 [9, 5, 7]

目前咱们已经用到了数组中的一些属性和方法。

arr.length, length 使用的时候不带括号, 此时 length 就是一个普通的变量(称为成员变量, 也叫属性)

arr.push(), arr.splice() 使用的时候带括号, 此时就是一个函数(也叫做方法)

<script> let array = new Array() console.log(array) for(i = 0; i < 10; i++) { array[i] = i; } let new_array = new Array() // 将array中所有的元素追加到new_array中 for(i = 0 ;i < array.length; i++) { new_array.push(array[i]) } console.log(new_array) new_array.splice(1, 1) console.log(new_array) </script>
http://www.jsqmd.com/news/923509/

相关文章:

  • 终极免费神器:如何用Video2X一键将模糊视频变高清流畅大片
  • FlatLaf实战:深度解析Java Swing现代化界面的架构设计与实现原理
  • OpCore-Simplify:让黑苹果配置从复杂拼图变为智能积木的自动化神器
  • 自动驾驶数据驱动规控进化之路
  • 从飞线到PCB:为Luos生物识别系统打造模块化Arduino扩展板
  • WeChatMsg完全指南:如何永久保存并智能分析你的微信聊天记录
  • 全球TOP 23款Gemini原生应用的商店描述逆向工程报告(含17个不可复制的语义锚点)
  • 完全掌控你的数字记忆:微信聊天记录导出的终极解决方案
  • 从肌电信号到机械臂:基于Arduino的仿生控制全栈实践
  • 告别单调,用Mousecape打造你的专属macOS光标主题
  • GlosSI终极指南:在Windows上实现全局Steam控制器支持
  • 基于Arduino与超声波传感器的智能楼梯灯:事件驱动与单线模式实战
  • 如何通过命令行精确控制F3D中3D模型的渲染视角:5个专业级策略
  • 5个关键参数配置:从机械语音到自然音色的AI语音合成优化指南
  • 基于555定时器的LED闪烁PCB圣诞树:从原理到制作的完整电子DIY项目
  • 【Gemini产品退役终极指南】:20年Google生态专家亲授迁移避坑清单与替代方案速查表
  • 超速离心机哪个牌子好?国内外头部品牌综合实力大揭秘 - 品牌推荐大师
  • ngx_http_core_find_config_phase
  • 微信聊天记录永久保存指南:如何将珍贵对话转化为数字资产
  • 终极微信QQ防撤回指南:5步实现消息永久保留
  • Python之yabormeparser包语法、参数和实际应用案例
  • 如何快速实现AI智能图像分层:免费工具Layerdivider完整指南
  • 东莞市大岭山玥盛:龙岗胶合板木箱公司 - LYL仔仔
  • 告别License烦恼:一份给Aurix新手的Tasking TriCore环境自查清单
  • 乌鲁木齐企业选择一般纳税人还是小规模纳税人的经验分享 - 新疆全疆企业服务
  • Tinkercad Codeblocks实战:用可视化编程制作3D飞机起飞动画
  • TensorFlow.js 时间序列预测实战:从数据预处理到浏览器端模型部署
  • Xbox 360模拟器Xenia Canary实战指南:深度解析与专业配置方案
  • Gemini数据出境安全评估:7步完成跨境传输备案,避开92%企业踩过的雷区
  • AI瞄准系统:三档性能方案让游戏新手也能体验职业选手的精准度