当前位置:首页 > 编程技术 > 正文内容

JS 数组详解【编程笔记】

yc8881年前 (2022-12-02)编程技术214

JS 数组详解【编程笔记】

  • 1. 什么是数组

  • 2. JS 数组定义

  • 3. JS 数组的 length

  • 4. JS 数组的遍历

  • 5. JS 数组元素操作

    1. 什么是数组


    数组是一种将多个数据存储在单个变量名下的优雅方式

    数组是一组数据的集合,其中每个数据被称作数组的元素,在数组中可以存放任意数据类型的数据

    特别注意: JS 中并没有数组这个数据类型,JS 中的数组也是对象,通过 typeof 关键字可证明这个结论

    2. JS 数组定义


    创建数组的三种方式

    // 隐式创建,又称为字面量创建var arr = ['html', 'css', 'js']// 直接实例化var arr = new Array()var arr = new Array('react', 'vue')// 指定数组长度var arr = new Array(3)

    3. JS 数组的 length


    数组对象有一个 length 属性,即数组中元素的个数,这个属性是可以修改的。若将 length 属性修改为小于当前数组元素个数,则造成数据丢失;若将 length 属性设置为 0,即可清空数组

    const arr = ['html', 'css', 'js', 'vue']arr.length = 2console.log(arr) //['html', 'css']arr.length = 0console.log(arr) //[]

    字符串对象也有 length 属性,但是它不能被修改,严格模式下会直接报错,非严格模式下不报错,但也不会修改成功

    // 开启严格模式// 'use strict'let str = 'liang'// 修改字符串的 length 属性无效// 在严格模式下会抛出异常,后面代码不再执行str.length = 3console.log(str, str.length) // liang 5

    4. JS 数组的遍历


    普通遍历

    const arr = ['html', 'css', 'js', 'vue']// for 循环语句for (let index = 0; index < arr.length; index++) {    console.log(index, arr[index]);}// 数组方法 forEacharr.forEach(item => {    console.log(item)})// for...of 循环语句for (const item of arr) {    console.log(item);}

    数组方法 array.map() 循环处理数组中的每个元素,返回一个处理后的新数组,它不会修改原数组

    const arr = [70, 62, 91, 57]const res = arr.map(item => item += 3)console.log(res);//[73, 65, 94, 60]

    数组方法 array.reduce() 可以用于统计多维数组中某个字段的和

    const arr = [    { name: '语文', score: 80 },    { name: '数学', score: 90 },    { name: '英语', score: 70 }]// res = 0 + 80 + 90 + 70 = 240const res = arr.reduce((total, item) => total += item.score, 0)

    数组方法 array.filter() 用于过滤数组

    const arr = [    { name: '语文', score: 80 },    { name: '数学', score: 90 },    { name: '英语', score: 70 },    { name: '物理', score: 60 },]// 只留下满足 score >= 80 的元素,不会修改原数组const res = arr.filter(item => item.score >= 80)

    数组方法 array.every() 用于检测数组所有元素是否都满足指定条件

    const arr = [    { name: '语文', score: 80 },    { name: '数学', score: 90 },    { name: '英语', score: 75 },]// 所有 score 都大于 70 才返回true// 需要特别注意的是当 arr 为空数组时也返回 trueconst bool = arr.every(item => item.score > 70)

    数组方法 array.some() 用于检测数组中是否有元素满足指定条件

    const arr = [    { name: '语文', score: 80 },    { name: '数学', score: 90 },    { name: '英语', score: 75 },]// 存在 score 大于 75 时, 停止遍历并返回 true// 当 arr 为空数组时, 返回 falseconst bool = arr.some(item => item.score > 75)

    数组方法 array.find() 用于获取数组中满足指定条件的第一个元素的值

    数组方法 array.findIndex() 用于获取数组中满足指定条件的第一个元素的值的索引

    const arr = [    { name: '语文', score: 75 },    { name: '数学', score: 82 },    { name: '英语', score: 60 }]const res = arr.find(item => item.score > 80) // { name: '数学', score: 75 }const index = arr.findIndex(item => item.score > 80) // 1

    5. JS 数组元素操作


    数组方法在项目中的使用频率非常高,列举出最常用的一些方法

    let arr = ['html']// 往数组尾部追加元素arr.push('css')// 往数组头部追加元素arr.unshift('vue')


    本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


    从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


    本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


    本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


    若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


    本文链接:https://www.10zhan.com/biancheng/10157.html

    标签: js
    分享给朋友:

    “JS 数组详解【编程笔记】” 的相关文章

    【说站】laravel实现自定义404页面并给页面传值

    【说站】laravel实现自定义404页面并给页面传值

    以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

    【说站】Thymeleaf报错Error resolving template “XXX”

    【说站】Thymeleaf报错Error resolving template “XXX”

    修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

    【说站】用一句话就可以去除宝塔面板操作上的二次验证

    【说站】用一句话就可以去除宝塔面板操作上的二次验证

    用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

    【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

    【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

    这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

    【说站】利用Webhook实现Java项目自动化部署

    【说站】利用Webhook实现Java项目自动化部署

    用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

    【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

    【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

    今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...