第一套面试题

1) 定义一个函数spacify, 将一个字符串作为参数传入,然后返回一个字符串,不过该字符串相对原有传入参数的变化是字母与字母之间多了一个空格。

2) 如何将上面这个函数直接作用在一个字符串对象上。

3) 重新定一个 mylog 函数,函数类似实现一个简单的控制台输出,在控制台输出传入的字符串,传入的字符串参数不固定。

4) 写出以下代码的输入,如有错误,该如何改正。  (构造函数)

var User = {
    count: 1,
    getCount: function() {
        return this.count;
    }
};
console.log(User.getCount());   //1
var func = User.getCount;
console.log(func());            //undefined

简单分析:

5) 实现一个弹窗,内容居中,点击遮罩层,可以关闭;实现弹窗时,使用 position:absolute 和 position: fixed有什么区别。 (CSS布局)

6) 假设有一个池塘,里面有无穷多的水,现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。


7) 两个数组,元素都为整数,求交集数组(值相等的元素组成的新数组) (算法)

这是一个算法题。

第一种解决方案: ES6语法求两个数组的交集。

使用filter过滤

[1,2,3,4,5,6,7].filter(item => [2,3,5,6,8].indexOf(item) > -1)

另一种表示方式

var arr3 = arr2.filter(function (v) {
    return arr1.indexOf(v) !== -1  //利用filter方法来遍历是否有相同的元素
})

延申:差集

var result = arr2.concat(arr3 ).filter(function (v) {
    return arr2.indexOf(v)===-1 || arr3 .indexOf(v)===-1
})

第二种解决方案:使用each

猜你喜欢

转载自www.cnblogs.com/still1/p/10788027.html