网站首页 > java教程 正文
数组生成 array.of
let res = Array.of(1, 2, 3)
console.log(res) // [1, 2, 3]
下标定位 indexOf
用于查找数组中是否存在某个值,如果存在则返回某个值的下标,否则返回-1
let list = [1, 2, 3];
console.log(list.indexOf(2)) // 1
console.log(list.indexOf('饼干')) // -1
元素存在 includes
检测数组中是否存在该元素,返回布尔
let list = [1, 2, 3];
console.log(list.includes(2)) // true
数组添加 push
向数组后面添加元素,返回值为数组的length
let list = [1, 2, 3];
let res = list.push(1)
console.log(res) // 4
数组头添加 unshift
向数组的头部添加元素,返回值为数组的length
let list = [1, 2, 3];
let res = list.unshift(0)
console.log(res) // 0,1,2,3
数组反转 reverse
用于数组反转,返回新数组
let list = [1, 2, 3]
let res = list.reverse()
console.log(res) // [3, 2, 1]
数组拼接 join
用于数组以什么形式拼接,返回字符串
let list = [1, 2, 3]
let res = list.join('-')
console.log(res) // 1-2-3
数组排序 sort
用于数组排序,接收函数参数,排序规则根据参数函数返回值,返回新数组
- 返回值为正数,后面的挪到前面
- 返回值为负数,保持不动
- 返回值为0,保持不动
let list = [1, 2, 3]
let sortRes = list.sort((a, b)=> b-a)
console.log(sortRes) // [3, 2, 1]
数组合并 concat
用于合并数组,返回新数组
let list = [1, 2, 3]
let res = list.concat([4, 5, 6])
console.log(res) // [1, 2, 3, 4, 5, 6]
数组遍历(each)
for、for...of...、forEach
const list = [1, 2, 3, 4, 5, 6, 7, 8,, 10, 11];
for (let i = 0, len = list.length; i < len; i++) {
if (list[i] === 5) {
break; // 1 2 3 4
// continue; // 1 2 3 4 6 7 8 undefined 10 11
}
console.log(list[i]);
}
for (const item of list) {
if (item === 5) {
break; // 1 2 3 4
// continue; // 1 2 3 4 6 7 8 undefined 10 11
}
console.log(item);
}
list.forEach((item, index, arr) => {
if (item === 5) return;
console.log(index); // 0 1 2 3 5 6 7 9 10
console.log(item); // 1 2 3 4 6 7 8 10 11
});
三者都是基本的由左到右遍历数组
- forEach 无法跳出循环;for 和 for ..of 可以使用 break 或者 continue 跳过或中断。
- for ...of 直接访问的是实际元素。for 遍历数组索引,forEach 回调函数参数更丰富,元素、索引、原数组都可以获取。
- for ...of 与 for 如果数组中存在空元素,同样会执行。
补充 forEach中执行异步任务
- forEach中执行异步任务,不会等待异步任务完成,这个时候可以用 for ..of替代。
数组转换(map)
将一个对象数组的某个属性以逗号拼接起来:重点map可以遍历数组,而且不改变原始数组数据,可以通过map返回一个经过修饰的新数组
比如输入[{"a":1},{"a":2},{"a":3},{"a":4},{"a":5}]返回1,2,3,4,5
function getFileCode(array){
let result = null;
if(array && array.length>0){
result = array.map((item,index)=>{
return item.fileCode;
}).join(",");
}
return result;
}
数组过滤(filter)
可以过滤数组中指定的元素
const list = [
{ name: '头部导航', type: 'nav', id: 1 },,
{ name: '轮播', type: 'content', id: 2 },
{ name: '页脚', type: 'nav', id: 3 },
];
const resultList = list.filter(item => {
console.log(item);
return item.type === 'nav';
});
// resultList: [
// { name: '头部导航', type: 'nav', id: 1 },
// { name: '页脚', type: 'nav', id: 3 },
// ]
const newList = list.map(item => {
console.log(item);
return item.id;
});
// newList: [1, empty, 2, 3]
// list: [
// { name: '头部导航', type: 'nav', id: 1 },
// empty,
// { name: '轮播', type: 'content', id: 2 },
// { name: '页脚', type: 'nav', id: 3 },
// ]
数组查询(find)
- find 方法返回数组中满足 callback 函数的第一个元素的值。如果不存在返回undefined。
- findIndex 它返回数组中找到的元素的索引,而不是其值,如果不存在返回 -1。
const list = [
{ name: '头部导航', id: 1 },
{ name: '轮播', id: 2 },
{ name: '页脚', id: 3 },
];
const result = list.find((item) => item.id === 3);
// result: { name: '页脚', id: 3 }
result.name = '底部导航';
// list: [
// { name: '头部导航', id: 1 },
// { name: '轮播', id: 2 },
// { name: '底部导航', id: 3 },
// ]
const index = list.findIndex((item) => item.id === 3);
// index: 2
list[index].name // '底部导航';
数组判断(some)
some函数如果有一个元素存在则返回true
const list = [
{ name: '头部导航', id: 1 },
{ name: '轮播', id: 2 },
{ name: '页脚', id: 3 },
];
const result = list.some((item) => item.id === 3);
//result = true/false
猜你喜欢
- 2025-05-11 全局数组的结构分析(全局数组和局部数组)
- 2025-05-11 10秒合并800个表,VSTACK就是这么厉害!
- 2025-05-11 VBA实现将批量Excel文件中的工作表合并成一个工作表
- 2025-05-11 C语言之strcat字符串拼接函数(c语言字符串拼接函数实现)
- 2025-05-11 这几个动态数组函数,简单又高效(动态数组的方法)
- 2025-05-11 数据格式的转换方法,HSTACK函数重建数组
- 2025-05-11 Java归并排序算法(技术每天进步一点)
- 2025-05-11 如何零基础学习VBA——数组函数介绍
- 2025-05-11 新增工作表数据自动汇总到总表怎么弄?会用vstack函数轻松搞定!
- 2025-05-11 字符拆分与合并,学会套路很简单(字符怎么合并)
你 发表评论:
欢迎- 05-11全局数组的结构分析(全局数组和局部数组)
- 05-1110秒合并800个表,VSTACK就是这么厉害!
- 05-11VBA实现将批量Excel文件中的工作表合并成一个工作表
- 05-11C语言之strcat字符串拼接函数(c语言字符串拼接函数实现)
- 05-11这几个动态数组函数,简单又高效(动态数组的方法)
- 05-11数据格式的转换方法,HSTACK函数重建数组
- 05-11Java归并排序算法(技术每天进步一点)
- 05-11如何零基础学习VBA——数组函数介绍
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)