面试题

js题

1. map forEach filter 的区别

相同点:

  • 都是用来遍历数组的
  • 都支持三个参数(当前item,索引index,原数组input)
    不同点
  • map和filter都有返回值
  • filter一般用来筛选条件符合的元素,filter返回的是一个新的数组,map返回的是原来的数组

2. 二维数组转一维数组

  • ES6
        var arr1 = [[0, 1], [2, 3], [4, 5]];
        arr1.flat();
  • ES5 reduce方法, 第一个参数回调函数,第2个参数初始值
  var red = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
       return a.concat(b);
  }, []);
  1. 一个数组对象,某一字段做排序,例age
 var ageArr = [{ age:25},{ age:21},{ age:15},{ age:2}] 
 function compare(key) {
        return function(a,b){
             var value1 = a[key];
             var value2 = b[key];
             return value1 - value2;
         }
  }
 const t = ageArr.sort(compare('age'))
  1. 数组取交集-
   let a = [0, 1, 2, 3, 4, 5];
   let b = [3, 4, 5, 6, 7, 8];
  const diffValues = a.filter(num => b.includes(num))

vue题

  1. 生命周期
    父组件和子组件之间
    created和 mounted 执行顺序

  2. computed和watch的区别

  3. v-for 的key属性有什么作用
    在插入数据或者修改数据的时候,不加key, 数据都会做重新渲染
    当id作为key的唯一属性,只有新添加的数据需要渲染,其他的数据都会直接复用之前的数据

你可能感兴趣的:(面试题)