前端必会...前端面试/html面试

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div>test</div>
<div id="d">
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
</div>
</body>
<script type="text/javascript">
//todo a 与 b 有啥区别   运行出来 感觉没啥区别(因为a 和 b 运行结果一致 但是a != b) 区别就是a 就是先定义在获取 b是直接获取
var a =[document.getElementById("a"),document.getElementById("b"),document.getElementById("c")];
var b = document.getElementById("d").getElementsByTagName("div");
//todo [1,2,3,2].distinct() = [1,2,3]; 去重
/*方案一:遍历要删除的数组arr, 把元素分别放入另一个数组temp中,在判断该元素在arr中不存在才允许放入temp中
方案二:把目标数组arr的元素值和键的位置调换 自动就把重复的元素给删除掉了
*/


function distinct(arr){
var temp = new Array();
for(var a in arr ){
if(temp.indexOf(arr[a]) == -1){
temp.push(arr[a]);
}
}
return temp;
}
function unique(arr){
var tmp = new Array();
 
for(var m in arr){
tmp[arr[m]]=1;
}
//再把键和值的位置再次调换
var tmparr = new Array();
 
for(var n in tmp){
tmparr.push(n);
}
return tmparr;
}
var arr = [12,3,2,9,9,5,6,7,5,5,0];


var chong = unique(arr);
console.log(chong);
//todo 运行结果


function mo(){
var x = 0;
return function(){
console.log(++x);
};
}
var moa = mo();
var mob = mo();
moa();
moa();
mob();
//todo 数组降维度 var w = [[3,5,[8,7],10],12]; 结果要求: [3,5,8,7,10,12]


function jiangwei(w){

var wstr = w.toString();
var newArr = wstr.split(",");

return newArr;
}
var w = [["llslslslsl","xmxmmxmxm"],[3,5,[8,7],10],12,["%3%","@1"],"opop"];
console.log(jiangwei(w));


//todo 返回键值最大的 键
var obj = {a:1,b:88,c:3,d:66};
var max  = 1;
var key;
for(o in obj){


if(obj[o] > max){
max = obj[o];
key = o;
}


}
console.log("max:"+max+",key:"+key);


/*"i'm a asagna hog".split("").reverse().join(""); 的返回值   
reverse()颠倒数组中元素的顺序  
join()把数组中的所有元素放入一个字符串
*/


//todo  合并数组 两个数组 并删除第二个元素
var a1 = [2,3,4,5],b1 = [7,10,8,9];
var c1 = a1.concat(b1);
c1.splice(1,1);


// Array.prototype.push.apply(a1, b1)
console.log(c1);


</script>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值