1:object创建的两种方式
(1):通过new关键字创建
var obj=new Object();
obj.name="小明";
(2)字面量创建
var obj={
name:'小明',
age:14
}
2:访问属性的方法
(1)obj.name
(2)obj[name]
3:Array
创建数组:
(1)new关键字创建
let color=new Array();创建一个数组对象
let color=new Array(10);创建一个空间为10的数组大小
let color=new Array(‘red’,‘yellow’,green’);创建一个包含三个元素的数组对象
(2)字面量创建
let colors=[‘red’,‘yellow’,‘green’];包含三个元素的数组
let colors=[];创建一个空数组
let colors=[1,2,]创建一个包含两个元4
4:数组中的Api
(1)from方法
将类数组转换成数组的实例
Array.from("maray") //['m','a','r','a','y']
map=new map();
map.set(1,2);
map.set(3,4);
Array.from(map) [[1,2],[3,4]]
set =new set();
set.add(1);
set.add(2);
set.add(3);
Array.from(set); [1,2,3]
a =[1,2,3,4]
Array.from(a) [1,2,3,4]
Array可以接收第二个参数,增强数组的值,三个参数指定函数的中的this
a=[1,2,3,4];
Array.from(a,x=>x**2) [1,4,9,16]
Array.from(a,function(x){return x**this.express},{express:2})
[1,4,9,16]
(2)of方法
将一组参数转换成数组实例
Array.of(1,2,3,4) [1,2,3,4]
在es6之前
Array.prototype.slice.call(arguments);
数组中的空位
在es6中把空位当成undefined
在es6之前对空位的不同处理
会跳过空位
const op=[1,,,5]
map会跳过空格
op.map(()=>6)[6,undefined,undefined,undefined,6]
把空格当成空字符串,
join会把空格当成空字符串
op.join('-') 1---5
(3)isArray方法
判断是不是一个实例是不是数组
Array.isArray(value)
(4)迭代器方法keys(),values(),entries()
a=['a','b','c','d','e'];
Array.from(a.keys());[0,1,2,3,4]
Array.from(a.values());[a,b,c,d,e]
Array.from(a.entries());[[0,'a'],[1,'b'],[2,'c'],[3,'d'],[4,'e']
a=['a','b','c','d','e']
for(const [inde,element] of a.entries())
{
conse.log(inde);
conse.log(element);
}
0
a
1
b
2
c
3
d
4
e
(5)复制和填充方法copyWithin(),fill()
fill()第一个参数表示填充的数,第二个和第三个参数填充数的范围
const s=[0,0,0,0,0]
s.fill(5);[5,5,5,5,5]
s.fill(5,3);[0,0,0,5,5]
s.fill(7,1,3):[0,7,7,7,0]
copyWithin()会按照指定的范围浅复制数组中的部分内容
ints =[0,1,2,3,4,5,6,7,8,9]
将0开始的内容复制到5开始的位子
ints.copyWithin(5)[0,1,2,3,4,0,1,2,3,4]
ints.copyWithin(0,5)[ 5,6,7,8,9,5,6,7,8,9]
(6)转换方法toLocaleString(),toString(),valueOf()
tostring()每个值用,拼接
valueOf()每个值用,拼接
toLocaleString()会调用每个数值的toLocaleString()
(6)jion
color=[1,2,3]
color.jion('-');
1-2-3
(7)栈的方法
push()
color =[1,2,3]
color.push(4);
[1,2,3,4]
数组的末尾添加一个或者多个元素,返回数组的长度
pop()
color =[1,2,3]
color.pop()
[1,2]
删除数组的最后一项,返回被删除的一项
(8)队列的方法
shift()
删除数组的第一项,并且返回他
unshift()
在数组开头添加一个或者多个元素
(9)排序方法
reverse()
数组元素的反向排列
sort( )
数组元素进行排序
(10)操作方法
concat()两个数组进行拼接
slice()数组进行截取操作,可以接收两个参数开始索引,和结束索引
splice()
删除:给两个参数一个是要删除元素的开始位置,第二个参数删除的个数
插入:插入元素的开始位置,删除元素的数量0,要插入的一个或者多个元素
替换:插入元素的开始位置,删除元素的数量,要插入一个或者多个元素
(11)搜索和位置方法
indexof()数组的开头找对应字符的下标
lastIndexof()数组的结尾找对应字符的下标
includes()找一个数组中是否出现另外的一个数组
find()返回第一个匹配的元素
findIndex ()第一个匹配元素的索引
find和findindex接受的参数
const pepole=[
{
name:"小明",
age:17
},
{
name:“小红”
age:19
}
]
pepole.find((element,index,Array)=>{
element.age<18
})
输出
{name:'小明',age:17}
pepole.findindex((element,index,Array)=>{
element.age<18
})
输出
0
(12)迭代方法
every()
let nums=[1,2,3,4,5,6,7]
nums.every((item,index,Array)=>{
item>2
})
只要一个不满足就返回false
filter()
let nums=[1,2,3,4,5,6,7]
nums.filter((item,index,Array)=>{
item>2
})
4,5,6,7
forEach()
let nums=[1,2,3,4,5,6,7]
nums.forEach((item,index,Array)=>{
})
只要一个不满足就返回false
map()
let nums=[1,2,3,4,5,6,7]
nums.map((item,index,Array)=>{
item*2
})
1,4,6,8,10,12,14
some()
let nums=[1,2,3,4,5,6,7]
nums.some((item,index,Array)=>{
item>2
})
只要一个满足就返回true