JavaScript
1.Map和Set的区别,Map和Object的区别。
- Set 是一种叫做集合的数据结构,Map 是一种叫做字典的数据结构。
- 共同点:集合、字典 可以储存不重复的值
- 不同点:集合 是以 [value, value]的形式储存元素,字典 是以 [key, value] 的形式储存 1)set 类似于数组,成员唯一(内部元素没有重复的值)。且使用键对数据排序即顺序存储。
2)map 本质上是键值对的集合,类似集合。可以遍历,方法很多可以跟各种数据格式转换。
3)Object 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一个 Object 来当做一个Map元素的 key。Map 元素的顺序遵循插入的顺序,而 Object 的则没有这一特性。
2.数组的filter、every、some的作用是什么。
1)every方法通过遍历循环考察数组中所有元素的共性,比如所有元素是否都是奇数,只要有一个不满足,循环就会结束,接下来的数据就不会继续判断。every方法有返回值,返回值是一个布尔值。只有所有元素都具备某项特性后,才会返回true。只要有一项不满足就返回false。
let arr = [2, 4, 6, 8];
let flag = arr.every(function(item) {
return item > 6
});
console.log(flag); //false
2)filter多用于从已有的数组中筛选出符合一定条件的数据项,最后的返回值是所有符合条件的数据项构成的数组。
let arr= [
{id:1,name: "a", age: 18},
{id:2,name: "b", age: 15},
{id:3,name: "c", age: 16},
{id:4,name: "d", age: 17},
{id:5,name: "e", age: 19}
]
let newarr=arr.filter(function(item){
return item.age>15
})
console.log(newarr)
//[ {id: 1, name: "a", age: 18},
{id: 3, name: "c", age: 16},
{id: 4, name: "d", age: 17},
{id: 5, name: "e", age: 19}]
3)some() 方法会依次执行数组的每个元素:如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测,如果没有满足条件的元素,则返回false。
let arr = [2, 4, 6, 8];
let flag = arr.some(function(item) {
return item > 5
});
console.log(flag); //true
- Promise的all和race有什么区别 1)all是所有请求请求成功返回值,多用于发送多个请求。
2)race返回第一个成功的请求
4.对原型链,原型的理解