阅读 234

ES6及以上数组和对象最近在项目中常用的几个方法总结(持续更新ing)

数组

find()

[1,2,5,9].find( n => { n > 4 }) 
// 5
复制代码

返回数组中第一个符合条件(返回值为true)的值,若找不到符合条件的值,则会返回undefined。

findIndex()

[1,2,5,9].findIndex( n => { n > 4 }) 
// 2
复制代码

返回数组中第一个符合条件(返回值为true)的成员位置,若找不到符合条件的值,则会返回-1。

includes(n, t)

[1,2,5,9].includes(5) // true
复制代码

返回布尔值类型,找到该元素了返回true,找不到则返回false。 n表示要找的元素,t表示从哪个位置开始找(默认为0)。

扩展运算符(有点类似于剩余参数的逆运算)

console.log(...[4, 5, 6])
// 4 5 6

console.log(5, ...[6, 7], 8)
// 5 6 7 8
复制代码

join()

const arr = ['ian','joan','alex']
const text = arr.join('#')
console.log(text)
// "ian#joan#alex"
复制代码

返回字符串类型,将数组拼接成字符串,join方法里添加的参数即是分隔符,若参数为空,则默认用‘,’来进行分割。

concat()

const arr1 = [1,2,3]
const arr2 = [4,5,6]
const arr3 = arr1.concat(arr2)
console.log(arr3)
//[1,2,3,4,5,6]
复制代码

返回一个新数组,该数组合并了两个arr1和arr2。

数组的pop、push、unshift、shift、sort、splice、slice等方法可以查看官网例子

developer.mozilla.org/zh-CN/docs/…

对象

Object.keys()

let obj = {
  name: '小明',
  age: 23,
  action: {
    123: '123',
    456: '456'
  }
}
console.log(Object.keys(obj)); 
// ["name","age","action"]
复制代码

返回一个数组,该数组包含对象自身的所有可枚举的属性的键名。

Object.values()

const obj = { name: 'Ian', age: 23 };
Object.values(obj)
// ["Ian", 23]
复制代码

返回一个数组,该数组包含对象自身的所有可枚举的属性的键值。

Object.entries()

const obj = { name: 'Ian', age: 23 };
Object.entries(obj)
// [ ["name", "Ian"], ["age", 23] ]
复制代码

返回一个数组,该数组包含对象自身的所有可枚举的属性的键值对。

Object.fromEntries()

Object.fromEntries([
  ['name', 'Ian'],
  ['age', 23]
])
// { name: "Ian", age: 23 }
复制代码

返回一个对象,Object.fromEntries()方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。

Object.assign() (浅拷贝)

const obj = { name: 'Ian', age: 23 };
const obj1 = Object.assign({},obj);
console.log(obj1)
// { name: 'Ian', age: 23 }
复制代码
文章分类
前端
文章标签