Array总结

  1 isNaN(value)
  2 
  3 typeof value
  4 
  5 value instanceof Array
  6 
  7 Array.isArray(valueName) // ie9+
  8 
  9 valueName.toString()
 10 
 11 valueName.valueOf()
 12 
 13 valueName.toLocaleString()
 14 
 15 valueName.join("|")//以什么格式分开,如果值数组值为null,undefined 已空字符串格式分开
 16 
 17 //例子
 18 
 19 var arr = ["red", "blue"] //注意最后不要加逗号, ie8及以下为认为3个值,第三个值为“undefined” 
 20 
 21 arr[100] = "green";
 22 
 23 alert(arr.join("|"))
 24 
 25 
 26 
 27 var colors = [];
 28 
 29 var count = colors.push("red", "green");  //添加两项
 30 
 31 alert(count) // 2
 32 
 33 count = colors.push("black");
 34 
 35 alert(count) //3  p.s 当前数组追加后的length
 36 
 37 
 38 
 39 var item = colors.pop()  // 取得最后一项(数组也少了)
 40 
 41 alert(item) // "black"
 42 
 43 alert(colors.length) //2
 44 
 45 
 46 
 47 var colors = ["red", "green","black"];
 48 
 49 var item = colors.shift() //取得第一项
 50 
 51 alert(item) // "red"
 52 
 53 alert(colors.length) // 2
 54 
 55 
 56 
 57 var colors = [];
 58 var counts = colors.unshift("red","green"); //往前追加两项
 59 alert(colors.length) //2
 60 
 61 
 62 
 63 var value = [1,2,3,4,5];
 64 value.reverse();
 65 alert(value) //5,4,3,2,1
 66 
 67 
 68 //reverse()和sort()方法的返回都是经过排序之后的数组
 69 var value = [0,1,5,10,15]
 70 value.sort();
 71 alert(value) //0,1,10,15,5
 72 
 73 
 74 
 75 function compare(value1, value2){
 76   if(value1 < value2){
 77     return 1;
 78   }else if(value1 > value){
 79     return -1;    
 80   }else{
 81     return 0;    
 82   }
 83 }
 84 var values = [0,1,5,10,15] //如果数组里用相同的或者非字符串救回报错(me)
 85 values.sort(compare);
 86 alert(values) // 15,10,5,1,0
 87 
 88 }
 89 
 90 
 91 
 92 //简化
 93 
 94 function compare(value1, value2){
 95   return value2 - value1
 96 }
 97 
 98 //也可以(chrome可以 ie有问题)[me]
 99 
100 function compare(value1, value2){
101   return value2 < value1
102 }
103 
104 
105 
106 //数组链接
107 var colors = ["red", "green", "blue"]
108 var color2 = ["yellow",["black","brown"]]
109 var color2 = colors.concat(color2);
110 alert(color2) //"red", "green", "blue","yellow","black","brown"
111 alert(color2.length) //5
112 //注意区分
113 var arr = [
114 [1,2,3],
115 [4,5,6]
116 ]
117 alert(arr.length) //2
118 
119 
120 
121 //获取,slice()方法不会影响原始数组
122 
123 var arr = [1,2,3,4,5]
124 var arr1 = arr.slice();
125 var arr2 = arr.slice(1);
126 var arr3 = arr.slice(1,4) //不包括4
127 
128 alert(arr1) // 1,2,3,4,5
129 alert(arr2) // 2,3,4,5
130 alert(arr3) // 2,3,4
131 
132 alert(arr.slice(-2,-1)) //4 相当于slice(3,4) ,如果结束为止小于起始位置,如slice(-2,-3),结果返回空数组, 负数可以理解从右往左,【me】
133 
134 
135 
136 //splice("开始位置","几个",Array)功能强大,包括删除、插入、替换
137 // --删除
138 
139 var colors = ["red","blue","green"]
140 var remove = colors.slice(0,1); //删除第一项
141 alert(remove) //返回的数组中包含几项
142 alert(colors) //"blue","green"
143 
144 // --插入
145 
146 var colors = ["red","blue","green"]
147 var remove = colors.splice(1,0,"yellow"); //往第二个添加yellow
148 alert(remove) //返回的是一个空数组
149 alert(colors) //red,yellow,blue,green
150 
151 // --替换
152 
153 var colors = ["red","blue","green"]
154 var remove = colors.splice(1,1,"yellow","black"); //把第二个替换成yellow,black
155 alert(remove) //返回的是一个空数组
156 alert(colors) //red,yellow,black,green
157 
158 
159 //位置方法  array 使用indexOf lastIndexOf 只有ie9+等
160 
161 var arr= ["a","b","c","d","e","a"];
162 alert(arr.indexOf("a"))   //0 "a"在哪个位置上
163 alert(arr.lastIndexOf("a"))  //5 最后一个"a"在哪个位置上
164 
165 alert(arr.indexOf("f")) //-1 没有返回-1

 

posted @ 2015-04-02 16:52  willian.J  阅读(136)  评论(0编辑  收藏  举报