美团
美团是我参加的第一次面试,见到面试官后稍微自我介绍了一分钟左右,然后面试官就叫做了三道题,都是在纸上手写的。
给定一个ul列表,里面有若干个li标签,li里面也嵌套了若干标签,要求点击标签,弹出当前li在ul中的位置。
例:
<ul id="ul">
<li><a href="#"><span>li-a-span</span></a></li>
<a href="#">a</a>
<li><a href="#"><span>li-a-span</span></a></li>
<li><a href="#"><span>li-a-span</span></a></li>
<li><a href="#"><span>li-a-span</span></a></li>
<li><a href="#"><span>li-a-span</span></a></li>
</ul>
<script>
var ul = document.getElementById('ul');
ul.addEventListener('click',function(e){
var c = e.target;
while(c && c.parentNode != this){
c = c.parentNode;
}
var idx = Array.prototype.slice.call(this.children)
.filter(function(x) {
return x.nodeName.toLowerCase() === 'li';
})
.indexOf(c);
console.log(idx);
});
</script>给定一个含有n个元素的整形数组,再给定一个和sum,求出数组中满足给定和的所有元素组合存在一个数组中。
给定一个对象内部嵌套着若干层对象,要求写一个函数转化成一个格式化后的对象。
例:
{
a : 1,
b : {
c : 2,
d : 3,
e : {
f : 4
}
}
}
转化后 =>
{
a : 1,
b.c : 2,
b.d : 3,
b.e.f : 4
}