【红宝书】第5章引用类型

Object类型

1.使用构造函数创建

let person = new Object()

2.对象字面量创建

let  person = {}

访问对象属性

obj.name
obj["name"]

Array类型

let arr = new Array()
let arr = new Array(20)
let arr = new Array("red","blue","green")
let arr = ["red","blue",""green]

数组的length属性不是只读的。设置这个属性可以从数组的末尾移除项或添加项

检测数组

console.log(arr instanceof Array)  // 返回布尔

但是网页多个框架实际上有多个作用域其Array构造函数不是相等的,解决方案

Array.isArray(arr)

转换方法

所有对象都由toLocaleString()、toString()、valueOf()方法

        let arr = [1, 2, 3]
        console.log(arr.toString())
        console.log(arr.valueOf())

join()实例方法,返回拼接后的字符串,默认用,拼接

        console.log(arr.join())
        console.log(arr.join('-'))

 

栈LIFO(last-in-first-out),后进先出

push()实例方法,末尾添加,改变原数组,返回修改后数组的长度

pop()实例方法,末尾移除,改变原数组,返回移除项

队列FIFO(first-in-first-out),先进先出

shift()实例方法,头移除,改变原数组,返回移除项

unshift()实例方法,头添加,改变原数组,返回修改后数组的长度

 重排序

reverse()实例方法,原数组反转

sort()实例方法,原数组排序

sort()方法默认会调用每个数组项的toString()转型方法,然后比较得到的字符串再排序

        arr.sort((a,b)=>a-b) // 升序
        arr.sort((a,b)=>b-a) // 降序

操作方法

concat(arr1,arr2,...)实例方法,不改变原数组,返回拼接后的数组

slice(a,b)实例方法,不改变原数组,返回截取后的数组 [a,b)

splice(要删除的第一项位置,删除的项数,插入项1,插入项2,...),不改变原数组,返回操作后的数组

位置方法

indexOf(查找项,查找起始位置),有返回index,没有返回-1

lastIndexOf()

迭代方法

every(),每一项都满足返回true,否则false

some(),任一项满足返回true,否则false

filter(),过滤满足条件的项,返回过滤后的数组

map(),对每一项进行操作,返回操作后的数组

forEach(),对每一项进行操作,没有返回值

归并方法

reduce()

reduceRight()

let sum = arr.reduce((prev,cur,index,array)=>prev+cur)

Data()

猜你喜欢

转载自www.cnblogs.com/Mijiujs/p/12185220.html