let arr = [1,2,3,2]
for (let i = 0; i < arr.length; i++ ) {
if (arr[i] == 1) {
continue
}
console.log(arr[i])
}
arr.forEach(function (elem, index, array) {
console.log(elem, index)
})
arr.forEach((item, index) => {
console.log(item, index) //forEach里面不支持break continue
})
let arr1 = arr.map(function (value){
value = value + 1 //forEach是就是一个普通的遍历,map可以返回一个新的数组,不会修改原数组
return value
})
console.log(arr1) // 2, 3, Yan1
let arr2 = arr.filter(function (value){
return typeof (value) == "string"
})
console.log(arr2) // Yan
let arr3 = arr.some(function (value){
return value == 2
})
console.log(arr3) //ture
let sum = arr.reduce(function (pre, cur, index ,array){
return pre + cur
},1)
let res = arr.reduce(function (pre, cur){
pre.indexOf(cur) == -1 && pre.push(cur) //这里面元素就是一个空数组,每一次遍历去判断原数组里面有没有剩下的数组,没有就是添加上去
return pre
},[])
console.log(res) //数组的去重复
Array.prototype.foo = function () {
console.log("foo")
}
for (let index in arr) {
console.log(index)
}
//for in 可以把原型里面的方法和属性遍历出来
let resFind = arr.find(function (value){
return value == 2
})
console.log(arr, resFind) //第一次元素出现的值 2
let resFindIndex = arr.findIndex(function (value){
return value == 2
})
console.log(arr, resFindIndex) //第一次元素出现对应的索引或者下标 1
for(let item of arr.values()) {
console.log(item) // 对应的值
}
for(let index of arr.keys()) {
console.log(index) // 对应的值
}
for(let [key,index] of arr.entries()) {
console.log(`属性值:${index},键值:${key}`) // 对应的值
}
一起设计吧