数组的方法
forEach(value,index,oldArr)
循环数组(迭代、遍历)
let Arr = ["black","red","blue","green"]
Arr.forEach((value,index,oldArr)=>{
if(value == "green"){
return true
}
})
some()
循环数组(迭代、遍历)
let Arr = ["black","red","blue","green"]
Arr.some((value,index,oldArr)=>{
if(value == "green"){
return true
}
})
forEach和some的区别在于无法终止循环(迭代、遍历)操作的停止
forEach就算 return false 也无法中断循环
some当满足指定条件后 return false 将停止循环操作
filter(value,index,oldArr)
筛选数组 返回一个新的数组
let Arr = [1,2,3,4,5,6]
let newArr = Arr.filter((value,index,OldArr)=>{
return value > 2
})
console.log(newArr)
字符串的方法
trim(清除首尾的空格)
let str = " name "
str.trim()
对象的方法
Object.defineProperty(obj,prop,descriptor{})
let obj = {
id:1,
name:"张三",
age : 18
}
Object.defineProperty(obj,"num",{
value : 1000
})
Object.keys(obj)
let obj = {
id:1,
name:"张三",
age:22
}
let arr = Object.keys(obj)
console.log(arr)
函数的方法
call(this,val1,val2,…)
调用函数,可以改变this的指向,和传递参数
function fun(x,y,z){
console.log(1)
}
var obj = {
name : "张三"
}
fun.call()
fun.call(obj,x,y,z)
apply(this,[])
调用函数,可以改变this的指向,传递参数必须在数组中
function fun(arr){
console.log(arr)
}
var obj = {
name : "张三"
}
fun.apply(obj)
fun.apply(obj,["x","y","z"])
let arr = [10,4,52,98,44,53]
let max = Math.max.apply(Math,arr)
bind(this,arg1,arg2,…)
bind 不会调用函数,但是可以改变函数的this指向,并返回改变this指向后的新函数
function fun(a,b){
console.log(a+b)
}
var obj = {
name : "张三"
}
let fun2 = fun.bind(obj)
fun2();
fun.call(obj,1,3)
数组解构
let arr = [1,2,3]
将arr解构
let [a,b,c] = arr
console.log(a,b,c)
对象解构
let obj = {name:"张三",age:20}
let {name,age} = obj
console.log(name,age)
运算符(...)
let arr = [1,2,3]
let newArr= [...arr]