前端数组常用API

数组常用方法总结


提示:以下是本篇文章正文内容,下面案例可供参考

一.push()方法

在数组最后添加一个或多个新元素,并且返回新数组的长度

 const arr = [1, 2, 3]
 arr.push(4, 5, 6)
 console.log(arr)  //[1,2,3,4,5,6]

二.pop()方法

删除数组最后一个元素,并返回数组末尾删除元素

 const arr = [1, 2, 3, 4]
 const arr2 = arr.pop()
 console.log(arr)  //[1,2,3]
 console.log(arr2)  //4

三.unshift()方法

在数组前面添加一个或多个元素,并返回新元素的长度

const arr = [1, 2, 3,4]
const arr2 = arr.unshift(-1,0)
console.log(arr)  //[-1,0,1,2,3]
console.log(arr2)  //6

四.shift()方法

删除数组首部元素,并返回被删除的元素

const arr = [1, 2, 3, 4]
const arr2 = arr.shift()
console.log(arr)  //[2,3,4]
console.log(arr2)  //1

五.splice()方法

对数组进行删除和修改操作,返回被删除元素组成的数组

const arr = [1, 2, 3, 4]
// splice(删除下标,删除个数,新增内容(可选))
const arr2 = arr.splice(0,2,0)
console.log(arr)  //[0,3,4]
console.log(arr2)  //[1,2]

六.slice()方法

剪切当前数组,并返回一个包含剪切值的新数组,不会改变原数组

const arr = [1, 2, 3, 4]
const arr2 = arr.slice(0,3)
console.log(arr)  //[1,2,3,4]
console.log(arr2)  //[1,2,3]

七.concat()方法

合并两个或多个数组,返回新数组,不会改变原数组

const arr = [1, 2, 3]
const arr2 = [4, 5 , 6]
const arr3 = [7, 8 , 9]
const arr4 = arr.concat(arr2,arr3,10)
console.log(arr4)  //[1,2,3,4,5,6,7,8,9,10]

八.join()方法

将数组转化为字符串,不会改变原有数组,此方法会返回转换后的字符串,默认以 , 分隔

const arr = [1, 2, 3]
const arr2 = arr.join()
const arr3 = arr.join('-')
console.log(arr)  //[1,2,3]
console.log(arr2)  //1,2,3
console.log(arr3)  //1-2-3

九.reverse()方法

颠倒数组元素,会改变原数组

const arr = [1, 2, 3]
arr.reverse()
console.log(arr)  //[3,2,1]

十.indexOf()方法

返回数组元素首次在数组中出现的索引,没找到返回-1

const arr = [1, 2, 3]
const arr2 = arr.indexOf(2)
console.log(arr2)  //1

十一.sort()方法

对数组进行排序  a-b从小到大排序   b-a从大到小

const arr = [4, 2, 5, 1, 3]
arr.sort((a, b) => b - a)
console.log(arr)  //[5,4,3,2,1]

十二.filter()方法 迭代

返回数组中满足条件的元素组成新数组,元素只能做布尔类型判断,不会改变原素组

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
const arr2 = arr.filter((item) => item>5)
console.log(arr)  //[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr2)  //[6, 7, 8, 9]

十三.map()方法 迭代

方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成,可以做运算,不能过滤原素组元素,不会改变原素组

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
const arr2 = arr.map((item) => item+1)
console.log(arr)  //[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr2)  //[2, 3, 4, 5, 6, 7, 8, 9, 10]

十四.every()方法 迭代

用于判断数组中的元素是否都满足条件,当每个元素都满足条件时,返回ture,否则false,不会改变原素组

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
const arr2 = arr.every((item) => item<40)
console.log(arr)  //[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr2)  //ture

十五.some()方法 迭代

判断数组是否至少有一个满足条件,一旦找到一个就立即停止并返回true,否则false,不会改变原素组

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
const arr2 = arr.some((item) => item<2)
console.log(arr)  //[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr2)  //ture

十六.forEach()方法 迭代

遍历整个数组,中途不能用break中断

const arr = [1, 2, 3, 4]
arr.forEach((item, index, arr) => {
  console.log(item)  //1 2 3 4 
  console.log(index)  //0 1 2 3
})

十七.reduce()方法 迭代

给数组做四则运算  第二个参数一般设为0 不会改变原数组

const arr = [4, 2, 5, 1, 3]
// item1 第一次值为reduce第二个参数也就是70 第二次为第一次运算之后的值 第三次...
// item2 第一次为索引0的值也就是4 第二次是索引1的值2, 第三次...
// index 是索引
const arr2 = arr.reduce((item1, item2, index) => {
  // console.log(item1, item2, index)
  return item1 + item2
}, 70)
console.log(arr) // [4, 2, 5, 1, 3]
console.log(arr2) //85 

十八.find()方法 迭代

查找数组中第一个满足条件的元素,返回这个对象

const arr = ['张三','李四','王五','赵六']
const arr2 = arr.find((item,index) => item === '李四')
console.log(arr); // ['张三','李四','王五','赵六']
console.log(arr2); // 李四

十九.findIndex()方法 迭代

查找数组中第一个满足条件的元素,返回下标

const arr = ['张三','李四','王五','赵六']
const arr2 = arr.findIndex((item,index) => item === '李四')
console.log(arr); // ['张三','李四','王五','赵六']
console.log(arr2); // 1

以上内容均为个人理解 如有错误请见谅😊

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、 JavaScript 的基本类型有哪些?引用类型有哪些?null 和 undefined 的区别?(必 会) 76 2、如何判断 JavaScript 的数据类型?(必会) JavaScript 数据类型一共有 7 种: 77 2、 创建对象有几种方法(必会) 79 4、简述创建函数的几种方式? (必会) 79 5、Javascript 创建对象的几种方式? (必会) 79 6、请指出 JavaScript 宿主对象和原生对象的区别?(必会) 81 7、 JavaScript 内置的常用对象有哪些?并列举该对象常用的方法?(必会) 82 8、 === 和 ==的区别?(必会) 87 9、 null,undefined 的区别(必会) 88 10、JavaScript 中什么情况下会返回 undefined 值?(必会) 88 11、如何区分数组和对象?(必会) 89 12、怎么判断两个对象相等?(必会) 89 13、列举三种强制类型转换和两种隐式类型转换?(必会) 91 14、 JavaScript 中怎么获取当前日期的月份?(必会) 91 15、 什么是类数组(伪数组),如何将其转化为真实的数组?(必会) 92 16、如何遍历对象的属性?(必会) 92 17、src 和 href 的区别是?(必会) 94 18、如何使用原生 JavaScript 给一个按钮绑定两个 onclick 事件?(必会) 95 19、 如何在 JavaScript 中比较两个对象?(必会) 95 20、JavaScript 中的作用域、预解析与变量声明提升? (必会) 97 21、变量提升与函数提升的区别?(必会) 99 22、 什么是作用域链?(必会) 99 23、如何延长作用域链?(必会) 99 23、 判断一个值是什么类型有哪些方法?(必会) 100 25、JavaScript 变量按照存储方式区分为哪些类型,并描述其特点?(必会) 100 26、如何实现数组的随机排序?(必会) 100 27、 Function foo() {}和 var foo = function() {}之间 foo 的用法上的区别?(必会) 101 28、索引有哪几种类型,有什么区别?(了解) 102 29、简述 Array.form 和 Array.of 的使用及区别?(了解) 103 30、根据你的理解,请简述 JavaScript 脚本的执行原理(了解) 104 WebAPI 105 1、 什么是 dom?(必会) 105 2、dom 是哪种基本的数据结构?(必会) 105 3、 dom 操作的常用 api 有哪些?(必会) 105 4、 dom 节点的 Attribute 和 Property 有何区别?(必会) 106 5、dom 结构操作怎样添加、移除、移动、复制、创建和查找节点?(必会) 106 6、dom 事件的级别?(必会) 107 7、dom 事件模型?(必会) 107 8、dom 事件流?(必会) 107 9、什么是事件冒泡,它是如何工作的?如何阻止事件冒泡?(必会) 108 10、JavaScript 动画和 CSS3 动画有什么区别?(必会) 108 11、event 对象的常见应用?(必会) 109 12、自定义事件/ 模拟事件?(必会) 109 13、通用事件绑定/ 编写一个通用的事件监听函数?(必会) 110 14、dom 和 bom 的区别(必会) 111 15、事件三要素(必会) 111 16、事件执行过程(必会) 111 17、获取元素位置(必会) 112 18、封装运动函数(必会) 112 19、绑定事件和解除事件的区别(必会) 113 20、谈谈事件委托的理解?(必会) 114 21、 JavaScript 中的定时器有哪些?他们的区别及用法是什么?(必会) 114 22、比较 attachEvent 和 addEventListener?(必会) 115 23、document.write 和 innerHTML 的区别?(必会) 115 24、 什么是 window 对象?什么是 document 对象?(必会) 116 25、Js 拖动的原理?(必会) 118 26、描述浏览器的渲染过程,DOM 树和渲染树的区别(必会) 119 27、dom 树和 render 树之间的关系?(高薪常问) 119 28、获取到页面中所有的 CheckBox 怎么做(不适用第三方框架)?(高薪常问) 119 29、 简单说一下页面重绘和回流?(高薪常问) 119 30、如何最小化重绘(repaint)和回流(reflow)(高薪常问) 120 31、Js 延迟加载的方式有哪些?(了解) 120 32、IE 与

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值