HarmonyOs DevEco Studio小技巧10--数组的用法

目录

一、改变原数组的方法

元素删除类

shift:删除数组的第一个元素。

pop:删除数组的最后一个元素。

splice(start, n):从指定的start位置开始删除n个元素。

元素添加类

push:在数组的末尾添加元素。

unshift:在数组的开头添加元素。

splice(start, n, 添加元素):在指定的start位置删除n个元素后添加新元素(可实现添加元素的效果)。

元素顺序调整类

reverse:颠倒数组中的元素顺序。

sort:对数组元素进行排序。

二、不改变原数组,返回新结果的方法

筛选类

filter:过滤数组元素,返回满足条件的元素组成的新数组。

find:查找并返回第一个符合条件的数组元素。

findIndex:查找并返回第一个符合条件的数组元素的索引位置。

转换类

map:对数组元素进行循环操作并返回新的数组。

flat:将多维数组转换为一维数组。

join:将数组转换为字符串。

slice(start, end):返回原数组中start到end之间的元素组成的新数组。

检测类

every:检测数组元素是否都符合条件,返回boolean值。

some:检测数组中是否有符合条件的元素,返回boolean值。

indexOf:查找值在数组中的位置,返回索引值(找不到返回 - 1)。

lastIndexOf():方法用于在数组中从后往前搜索指定元素,并返回该元素在数组中最后一次出现的索引。(找不到返回 - 1)。

includes:查看数组中是否存在此元素,返回boolean值。

三、其他

concat:用于合并两个或多个数组,返回一个新数组,原数组不变。

forEach:对数组的每个元素执行一次提供的函数,没有返回值,主要用于遍历操作。

 toString()此方法将数组转化为字符串


一、改变原数组的方法

  • 元素删除类

    • shift:删除数组的第一个元素。

let arr = [1, 2, 3];
let removed = arr.shift();
console.log(arr.toString()); // [2, 3]
console.log(removed.toString()); // 1
  • pop:删除数组的最后一个元素。

let arr = [1, 2, 3];
let removed = arr.pop();
console.log(arr.toString()); // [1, 2]
console.log(removed.toString()); // 3
  • splice(start, n):从指定的start位置开始删除n个元素。

let arr = [1, 2, 3, 4];
let removed = arr.splice(1, 2);
console.log(arr.toString()); // [1, 4]
console.log(removed.toString()); // [2, 3]
  • 元素添加类

    • push:在数组的末尾添加元素。

let arr = [1, 2];
let newLength = arr.push(3, 4);
console.log(arr.toString()); // [1, 2, 3, 4]
console.log(newLength.toString()); // 4
  • unshift:在数组的开头添加元素。

let arr = [2, 3];
let newLength = arr.unshift(1);
console.log(arr.toString()); // [1, 2, 3]
console.log(newLength.toString()); // 3
  • splice(start, n, 添加元素):在指定的start位置删除n个元素后添加新元素(可实现添加元素的效果)。

let arr = [1, 2, 3, 4];
let removed = arr.splice(1, 2, 9, 0);
console.log(arr.toString()); // [1, '9', '0', 4]
console.log(removed.toString()); // [2, 3]
  • 元素顺序调整类

    • reverse:颠倒数组中的元素顺序。

let arr = [1, 2, 3];
arr.reverse();
console.log(arr.toString()); // [3, 2, 1]
  • sort:对数组元素进行排序。

let arr = [3, 1, 2];
arr.sort();
console.log(arr.toString()); // [1, 2, 3]

二、不改变原数组,返回新结果的方法

  • 筛选类

    • filter:过滤数组元素,返回满足条件的元素组成的新数组。

let arr = [1, 2, 3, 4, 5];
let result = arr.filter(num => num > 3);
console.log(result.toString()); // [4, 5]
  • find:查找并返回第一个符合条件的数组元素。

let arr = [1, 2, 3, 4, 5];
let found = arr.find(num => num > 3);
console.log(found?.toString()); // 4
  • findIndex:查找并返回第一个符合条件的数组元素的索引位置。

let arr = [1, 2, 3, 4, 5];
let index  = arr.findIndex(num => num > 3);
console.log(index.toString()); // 3
  • 转换类

    • map:对数组元素进行循环操作并返回新的数组。

let arr = [1, 2, 3];
let result = arr.map(num => num * 2);
console.log(result.toString()); // [2, 4, 6]
  • flat:将多维数组转换为一维数组。

let arr = [1, [2, [3]]];
let result = arr.flat(2);
console.log(result); // [1, 2, 3]
  • join:将数组转换为字符串。

let arr = ['a', 'b', 'c'];
let str = arr.join('-');
console.log(str); // a - b - c
  • slice(start, end):返回原数组中startend之间的元素组成的新数组。

let arr = [1, 2, 3, 4];
let result = arr.slice(1, 3);
console.log(result.toString()); // [2, 3]
  • 检测类

    • every:检测数组元素是否都符合条件,返回boolean值。

let arr = [1, 2, 3, 4];
let result = arr.every(num => num < 5);
console.log(result+''); // true
  • some:检测数组中是否有符合条件的元素,返回boolean值。

let arr = [1, 2, 3, 4];
let result = arr.some(num => num > 3);
console.log(result+''); // true
  • indexOf:查找值在数组中的位置,返回索引值(找不到返回 - 1)。

let arr = [1, 2, 3, 2];
let index = arr.indexOf(2);
console.log(index.toString()); // 1
  • lastIndexOf():方法用于在数组中从后往前搜索指定元素,并返回该元素在数组中最后一次出现的索引。(找不到返回 - 1)。

  • includes:查看数组中是否存在此元素,返回boolean值。

let arr = [1, 2, 3];
let result = arr.includes(2);
console.log(result+''); // true

三、其他

  • concat:用于合并两个或多个数组,返回一个新数组,原数组不变。

let arr1 = [1, 2];
let arr2 = [3, 4];
let result = arr1.concat(arr2);
console.log(result.toString()); // [1, 2, 3, 4]
  • forEach:对数组的每个元素执行一次提供的函数,没有返回值,主要用于遍历操作。

let arr = [1, 2, 3];
arr.forEach(num => console.log(num.toString()));
// 1
// 2
// 3
  •  toString()此方法将数组转化为字符串

let arr = [1, 2, 3, 4, 5];
let str = arr.toString()  //1,2,3,4,5
console.log(str)

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值