1 for in 与 for 区别
const a = [3, 4, 5]
const obj = {
age: '19',
name: 'lion'
}
for (let i = 0; i < a.length; i++) {
console.log((a[i]))
}
// 3, 4, 5
for (let item in a) {
console.log(a[item])
}
// 3, 4, 5
for (let item of a) { //for of 推荐用在遍历数组
console.log(item)
}
// 3, 4, 5
for (let key in obj) { //for in 推荐用在遍历对象属性
console.log(key, ':', obj[key])
}
// age: 19
// name: lion
2 some() 和 every() 区别
some 翻译成某个,every 是每个
some是指数组中某个满足条件就返回true, every是指每一个满足条件才会返回true
const computers = [
{name: 'Lily', age: 25},
{name: 'LiSen', age: 23},
{name: 'JiJiu', age: 30}
]
const res1 = computers.some(function (computer) {
return computer.name.startsWith('L');
})
const res2 = computers.every(function (computer) {
return computer.age > 10;
})
console.log(res1, res2)
// true true
const res1 = computers.every(function (computer) {
return computer.name.startsWith('L')
})
const res2 = computers.some(function (computer) {
return computer.age > 40;
})
// false false
3 map, forEach, find, filter, findIndex
3.1 关于map 和forEach
const res = computers.map(item => item.age) //map有返回值,返回数组类型
computers.forEach(item => console.log(item.age)) //forEach没有返回值
3.1 关于filter
const res1 = computers.filter(function (item) {
// filter有返回值,返回值是数组,把符合过滤条件的过滤出来
return item.age >= 25;
})
console.log(res1)
// [{name: "Lily", age: 25}, {name: "JiJiu", age: 30}]
3.2 关于find 和 findIndex
const computers = [
{name: 'Lily', age: 27},
{name: 'LiSen', age: 23},
{name: 'JiJiu', age: 30}
]
const res1 = computers.find(function (item) { // find 返回符合筛选挑条件的第一个元素
return item.age >= 25;
})
console.log(res1) //{name: "Lily", age: 27}
const a = [2, 4, 9, 10];
const s = a.find(item => item > 3);
console.log(s) // 4
const a = [2, 4, 9, 10];
const s = a.findIndex(item => item > 3);
console.log(s) // 1
const res1 = computers.findIndex(function (item) {
//⚠️如果是对象类型,findIndex返回的是元素,而不是index
console.log(item)
return item.age >= 25;
})
console.log(res1) //{name: "Lily", age: 27}