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

JavaScript中数组的常用方法

JavaScript中数组的常用方法

  • 1.增
  • 2.删除
  • 3.查
  • 4.截取
  • 5.拼接
  • 6.splice方法
  • 7.排序方法
  • 8.转换
  • 9.数组的主要迭代方法

可以通过查看Array对象的原型来看有哪些方法。

console.log(Array.prototype)

在这里插入图片描述

1.增

  • push(元素)
  • unshift(元素):从数组前面增加元素

2.删除

  • pop(元素)
  • shift(元素)

3.查

  • indexOf(元素)
  • includes(元素)

4.截取

  • slice(startIndex,endIndex)

5.拼接

  • concat

6.splice方法

这三个都会改变原数组。

  • 增加
    splice(index,0,元素1,元素2....),其中0表示删除元素的个数为0(因为是增加元素)
  • 删除
    splice(index,count);
  • 替换
    splice(index,count,元素1,元素2...)。从index开始,删除count个元素,并且用元素1、元素2…替换。

7.排序方法

  • sort(回调参数)
let arr2=[3,7,1,9,23]
const newArr2=arr2.sort((item1,item2)=>item2-item1)
console.log(newArr2)//[23,9,7,3,1]
  • 反转(是数组反转,字符串不能反转)
    一个经典的例题(给字符串反转):
let str="abcdef";
let arr=str.split("");
let newArr=arr.reverse();
let newStr=newArr.join("");
console.log(newStr)//fedcba

8.转换

  • join():啥也不传时候,默认为逗号

9.数组的主要迭代方法

  • find(回调函数):
    返回第一个匹配的元素
 let arr1 = [1, 3, 5, 7, 9]
 const element = arr1.find((item, index) => index == 2)
 console.log(element)//5
  • some(回调函数)
    有一项成立就返回true
 let arr2 = [1, 3, 5, 7, 9];
 const flag= arr2.some((item, index) => item === 9);
 console.log(flag);  //true
  • every(回调函数)
    所有项成立才返回true
 let arr3 = [1, 3, 5, 7, 9];
const flag1= arr3.every((item, index) => item > 3);
console.log(flag1); //false

const flag2= arr3.every((item, index) => item >= 1);
console.log(flag2); //true
  • forEach(回调函数)
    ps:无法跳出循环,而且无法在循环中改变数组内容,没有返回值
let arr3=[1,2,3,4,5]
arr3.forEach(item=>{
    console.log(item)
    item=item++;//这里不会改变
    console.log(item)
})
console.log(arr3)//[1,2,3,4,5]
  • filter()
 let arr4 = [1, 3, 6, 8, 9];
 const newArr = arr4.filter((item, index) => item % 2 === 1);
 console.log(newArr); // [1, 3, 9]
  • map():会有一个返回值,原数组不会被改变。可以用新数组接受返回的内容
  let arr5 = [1, 3, 6, 8, 9];
  const newArr1 = arr5.map((item, index) => item * item);
  console.log(newArr1); //  [1, 9, 36, 64, 81]

相关文章:

  • 【从0做项目】Java搜索引擎(6) 正则表达式鲨疯了优化正文解析
  • 深入剖析Spring MVC
  • CMake技术细节:解决未定义,提供参数
  • 从零到一实现微信小程序计划时钟:完整教程
  • 【ClickHouse 特性及应用场景】
  • ubuntu 执行 sudo apt-get update 报错
  • redis7 for windows的安装教程
  • vue 接口传formdata
  • 基于Java+Swing+Mysql实现旅游管理信息系统
  • Promise异步编程
  • 【阮一峰】6.对象
  • 【阮一峰】8.类
  • 如何写出优秀的测试用例?
  • QT基础七、用纯代码编写界面
  • 使用Keras构建图像分类模型的入门指南
  • ssm019基于ssm社区文化宣传网站+jsp(源码+包运行+LW+开题报告+任务书+技术指导)
  • 第一期——LeetCode 26删除有序数组中的重复项
  • Vulnhub中的Lupinone
  • Flutter:K线图
  • 鸿蒙(HarmonyOS)开发学习路线指南:从零到实战
  • 民间打拐志愿者上官正义遭人身安全威胁,杭州公安:已立案
  • 在美国,为什么夏季出生的孩子更容易得流感?
  • 官方通报汕头违建豪宅“英之园”将强拆:对有关人员严肃追责问责
  • 王东杰评《国家与学术》︱不“国”不“故”的“国学”
  • 我国城市规划“全面体检”套餐出台,城市体检将逐步与供地计划等挂钩
  • 著名植物学家、园艺学家,国际植物园协会原主席贺善安逝世