<!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>
<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>