鸿蒙进阶篇-数组常用方法(一)
大家好,这里是鸿蒙开天组,今天咱们来学习一下数组的常用方法。
数组在编程中是非常常见的数据类型,毕竟需要用到的场合太多了,所以我们今天来使劲学习一下常用方法,在这里也没法一一列全,但是大家也可以根据实际需要,到mdn去搜索查询使用:
一、基础操作
数组的操作,主要针对的是对数组中的数据进行查找、修改、增加 或者是删除:
操作 | 语法 |
查找 | 数组名[下标] |
修改 | 数组名[下标] = 新值 |
增加 | 数组名.push(数据1, 数据2, ...)、 数组名.unshift(数据1, 数据2, ...) |
删除 | 数组名.pop()、数组名.shift() |
任意位置增加或删除 | 数组名.splice(操作的起始位置, 删除的个数, 新增1, 新增2, ......) |
以上这个是基础部分,这里不做详细讲解,以下是演示代码,大家可以自行理解:
let names: string[] = ['小红', '小明', '大强']
// 1. 查找
console.log('查找姓名', names[0])
// 2. 修改
names[1] = 'Jack'
console.log('names数组修改', names)
// 3.push():结尾新增
names.push('lily', '大壮')
console.log('数组names', names)
// 4.unshift(): 开头新增
names.unshift('Jack')
console.log('数组names push+unshift', names)
// 5.pop(): 结尾删除
names.pop()
// 6.shift(): 开头删除
names.shift()
console.log('数组names pop+shift', names)
// 7.指定位置增删元素
names.splice(1, 1, 'jack')
console.log('数组names splice', names)
代码输出结果如下:
二、进阶操作
下表列出了一些较为常用方法:
方法名 | 作用 |
indexof | 判断元素在数组中的索引,不存在返回-1 |
join | 根据传入内容拼接数组,默认为,返回拼接结果,字符串 |
forEach | 遍历数组,并且将数组的每一项作为参数传入到回调函数中,无返回值 |
map | 基于原数组,创建一个新数组 |
filter | 根据回调函数的执行结果,筛选出符合要求的元素,返回一个新数组 |
find | 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined |
findIndex | 返回数组中满足条件第一个元素的索引。若没有找到则返回 -1。 |
every | 返回数组中是否每一个元素都符合要求。 |
some | 返回数组中是否有一个元素符合要求。 |
sort | 方法的作用是对原数组的元素进行排序 |
reduce | 数组求和 |
为了方便大家记忆,这里做了一下简单的归类:
1.1. indexof方法、findIndex 方法、find 方法
由于这类方法使用场景通常比较简单,所以数组的写法采用了简写,如果判断条件较为复杂,可自行查询完整写法,示例代码如下:
//数组
const foods = ['西瓜', '苹果', '桃子', '香蕉', '苹果', '桃子']
//Indexof
const indexofuse = foods.indexOf('西瓜')
console.log('indexofuse', indexofuse)
//findIndex
const findindexuse = foods.findIndex(item => item === '桃子')
console.log('findindexuse', findindexuse)
//find
const finduse = foods.find(item => item === '香蕉')
console.log('finduse', finduse)
输出结果如下:
1.2. forEach方法、map 方法、filter 方法
这三个方法放到一起,是因为它们都会遍历所有的元素,其中ForEach是没有返回值的,所以直接输出结果,map可以理解成按照指定的条件重组成一个新数组,filter就是过滤筛选,只保留符合条件的元素,示例代码如下:
// 接口
interface Fruit {
id: number
name: string
title: string
}
// 数组
const arr: Fruit[] = [
{ id: 1, name: '西瓜', title: '喝西北风' },
{ id: 2, name: '苹果', title: '苹苹淡淡' },
{ id: 3, name: '桃子', title: '桃之夭夭' },
{ id: 4, name: '香蕉', title: '百感蕉集' },
]
//forEach使用
arr.forEach((item) => {
console.log('foreach使用', item.id + 1, item.name + item.title)
})
//map使用
const mapArr = arr.map(item => item.name + item.title)
console.log('map使用', mapArr)
//filter使用
const filterArr = arr.filter(item => item.id > 2)
console.log('filter使用', JSON.stringify(filterArr))
输出结果如下:
好了,今天的分享就到这里,虽然这些数组方法都比较简单,不过也列举了十几个,如果是第一次接触的同学,还是要点时间消化的,剩下的every、some、join、sort和reduce就留待下次分享啦!
如果对你有那么一点帮助,请记得点赞收藏哦!
原文地址:https://blog.csdn.net/2401_88463044/article/details/143813312
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!