在开发过程中比较常见的数据类型Array、Object,而Es6提供新的数据结构Set、WeakSet、Map、WeakMap,接下主要对这些数据结构做个整理。
一、Array数据结构
数组(Array)是JavaScript中全局对象,用于在单个的变量中存储多个值。
1.常见的数组方法
- concat() 连接两个或更多的数组
let arr_a=[2,3,14,5,9]
let arr_b=[11,23,34]
let c=arr_a.concat(arr_b)
console.log(c)// [2,3,14,5,9,11,23,34]
//ES6写法
[2,3,14,5,9,...arr_b]
- join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔
let arr_a=[2,3,14,5,9]
let c=arr_a.join('.')
console.log(c)// 2.3.14.5.9
- pop() 删除并返回数组的最后一个元素
let arr_a=[2,3,14,5,9]
let c= arr_a.pop()
console.log(c)// [2,3,14,5]
- push() 向数组的末尾添加一个或更多元素,并返回新的长度
let arr_a=[2,3,14,5,9]
let c=arr_a.push('a')
console.log(c) // [2,3,14,5,9,a]
- reverse() 颠倒数组中元素的顺序
let arr_a=[2,3,14,5,9]
let c=arr_a.reverse()
console.log(c) // [9,5,14,3,2]
- delete arr.x 删除数组arr的x键值对,返回值是个布尔值,说明有没有删除成功。
var arr = [1, 2, 3]
delete arr[1]
console.log(arr)// [1, empty, 3],会删除索引为1元素的内容,但是不删除位置
- shift() 删除并返回数组的第一个元素
let arr_a=[2,3,14,5,9]
let c=arr_a.shift()
console.log(c) //2
- slice() 从某个已有的数组返回选定的元素
let arr_a=[2,3,14,5,9]
let c=arr_a.slice(0,2)
console.log(c) // [ 2, 3 ]
- sort() 对数组的元素进行排序
let arr_a=[2,3,14,5,9]
let c=arr_a.sort()
console.log(c) // [ 14, 2, 3, 5, 9 ]
- splice() 删除元素,并向数组添加新元素
let arr_a=[2,3,14,5,9]
let c=arr_a.splice(0,2,'a')
console.log(arr_a) //[a,14,5,9]
- toSource() 返回该对象的源代码
- toString() 把数组转换为字符串,并返回结果
let arr_a=[2,3,14,5,9]
let c=arr_a.toString()
console.log(c) //2,3,14,5,9
- toLocaleString() 把数组转换为本地数组,并返回结果
let arr_a=[2,3,14,5,9]
let c=arr_a.toLocaleString()
console.log(c) //2,3,14,5,9```
- unshift() 向数组的开头添加一个或更多元素,并返回新的长度
let arr_a=[2,3,14,5,9]
let c=arr_a.unshift("a")
console.log(c) //6```
- valueOf() 返回数组对象的原始值
2.ES6新增了如下原型方法:
- copyWithin() 指定位置的成员复制到其它位置
let arr_a=[2,3,14,5,9]
let c=arr_a.copyWithin(0,2,3)
console.log(c) // [ 14, 3, 14, 5, 9 ]
- find() 查找符合条件的数组成员 返回第一个成员返回值
let arr_a=[2,3,14,5,9]
let c=arr_a.find(n=>n<5)
console.log(c) //2
- findIndex() 查看符合条件的数组成员,返回第一个数组成员的位置
let arr_a=[2,3,14,5,9]
let c=arr_a.findIndex(n=>n<5)
console.log(c) // 0
- fill() 定值填充数组
let arr_a=[2,3,14,5,9]
let c=arr_a.fill("a",2,4)
console.log(c) //[ 2, 3, 'a', 'a', 9 ]
- entrise() 遍历数组
let arr_a=[2,3,14,5,9]
for (let [key, value] of Object.entries(arr_a)) {
console.log(`${key}: ${value}`)
}//0:2; 1:3; 2:14; 3:5; 4:9
- keys() 遍历数组的键值
let arr_a=[2,3,14,5,9]
for (let [key] of Object. keys(arr_a)) {
console.log(`${key}`)
}//0; 1; 2; 3; 4
- values() 遍历数组的值
let arr_a=[2,3,14,5,9]
for (let [value] of Object. values(arr_a)) {
console.log(`${value}`)
}
//2; 3; 14; 5; 9
后续更新Objectet、WeakSet、Map、WeakMap
网友评论