1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script> 9 // 将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现 10 // var arr = ["刘备","张飞","关羽"]; 11 // var str = arr[0]; 12 // var separator = "|"; 13 // for(var i=1;i<arr.length;i++){ 14 // str+=separator+arr[i]; 15 // } 16 // console.log(arr.join("|")); 17 18 // 将一个字符串数组的元素的顺序进行反转。["a","b","c","d"] ["d","c","b","a"]。使用两种种方式实现。提示:第i个和第length-i-1个进行交换 19 // var arr1 = [1,2,3]; 20 // console.log(arr1.reverse()); 21 22 ////第一种 23 // function reverse1(array){ 24 // var newArr = []; 25 // for(var i=array.length-1;i>=0;i--){ 26 // newArr[newArr.length] = array[i]; 27 // } 28 // return newArr; 29 // } 30 ////第二种 31 // function reverse2(array){ 32 // for(var i=0;i<array.length/2;i++){ 33 // var temp = array[i]; 34 // array[i] = array[array.length-1-i]; 35 // array[array.length-1-i] = temp; 36 // } 37 // return array; 38 // } 39 40 41 // 工资的数组[1500,1200,2000,2100,1800],把工资超过2000的删除 42 // var arr3 = [1500,1200,2000,2100,1800]; 43 // 44 // var arr4 = arr3.filter(function (ele,index,array) { 45 // if(ele<2000){ 46 // return true; 47 // } 48 // return false; 49 // }) 50 // console.log(arr3); 51 // console.log(arr4); 52 53 54 // ["c","a","x","a","x","a"]找到数组中每一个元素出现的次数 55 //利用对象来做。我们想知道,a出现了几次,c出现了几次,x出现了几次。 56 //k:v .. k:v使用键值对比较方便,而使用数组,不太方便了。 57 //思路:创建一个对象,判断数组中的元素,在对象中是否存在,如果存在,值+1;否则创建一个数组元素的属性,然后给值赋值为1; 58 59 // var arr5 = ["c","a","x","a","x","a"]; 60 // 61 // var json = {}; 62 //// console.log(json["aflasdfasdf"]); 不存在的属性,返回值是undefined。 63 // for(var i=0;i<arr5.length;i++){ 64 // //判断数组中的元素,在json中是否存在属性值。 65 // if(json[arr5[i]]){ 66 // json[arr5[i]] += 1; 67 // }else{ 68 // json[arr5[i]] = 1; 69 // } 70 // } 71 // console.log(json); 72 73 //var json = {"kkk":1}; 74 //json["kkkk"] = 1; 75 76 // 编写一个方法 去掉一个数组的重复元素 77 var arr = [1,2,3,4,5,2,3,4]; 78 console.log(arr); 79 var aaa = fn(arr); 80 console.log(aaa); 81 //思路:创建一个新数组,循环遍历,只要新数组中有老数组的值,就不用再添加了。 82 function fn(array){ 83 var newArr = []; 84 for(var i=0;i<array.length;i++){ 85 //开闭原则 86 var bool = true; 87 //每次都要判断新数组中是否有旧数组中的值。 88 for(var j=0;j<newArr.length;j++){ 89 if(array[i] === newArr[j]){ 90 bool = false; 91 } 92 } 93 if(bool){ 94 newArr[newArr.length] = array[i]; 95 } 96 } 97 return newArr; 98 } 99 100 101 102 </script> 103 </body> 104 </html>