1.數組方法javascript
/** * join(str) * 將數組元素轉換爲字符串並使用參數中的字符串將各字符串連接起來 */ var a = [1, 2, 3]; a.join(); // "1,2,3" a.join(' '); // "1 2 3" a.join(''); // "123" var b = new Array(10); //長度爲10的空數組 b.join('-'); // "---------":9個連字號組成的字符串 /** * reverse() * 將數組中的元素順序顛倒,返回逆序數組,且這個過程也改變調用的數組自己 */ var a = [1, 2, 3]; a.reverse.join(); // "3,2,1",而且如今的a是[3,2,1] /** * sort(fun) * 對數組進行排序並返回該排序後的數組,且這個過程也改變調用的數組自己 */ var a = [33, 4, 1111, 222]; a.sort(); // 字母表順序:1111,222,33,4 a.sort(function(x, y){ return x - y; }); // 數值順序:4, 33, 222, 1111 /** * concat() * 建立並返回一個新數組,它的元素包括調用concat()的原始數組的元素和concat的每一個參數 */ var a = [1,2,3]; a.concat(4,5); //返回[1,2,3,4,5] a.concat([4,5]); //返回[1,2,3,4,5] a.concat([4,5],[6,7]); //返回[1,2,3,4,5,6,7] a.concat(4, [5,[6,7]]); //返回[1,2,3,4,5,[6,7]] /** * slice() * 返回制定數組的一個片斷或子數組。 */ var a = [1,2,3,4,5]; a.slice(0,3); //返回[1,2,3] a.slice(3); //返回[4,5] a.slice(1,-1); //返回[2,3,4] a.slice(-3,-2); //返回[3] /** * splice() * 從制定位置刪除,插入數組元素。 */ var a = [1,2,3,4,5]; a.splice(3); //返回[4,5],a是[1,2,3] a.splice(1,1); //返回[2],a是[1,3] a.splice(1,0,'a','b'); //返回[],a是[1,'a','b',3] a.splice(1,2,[1,2],3); //返回['a','b'],a是[1,[1,2],3,3] /** * push() * 在數組尾部添加一個或多個元素,並返回數組新的長度 */ /** * pop() * 在數組尾部刪除一個元素,並返回刪除的元素 */ /** * unshift() * 在數組首部添加一個或多個元素,並返回數組新的長度 */ /** * shift() * 在數組首部刪除一個元素,並返回刪除的元素 */ /*---------如下是ECMAScript5新增的數組方法---------*/ /** * forEach() * 遍歷數組元素 */ var data = [1,2,3,4,5]; //計算數組元素的和 var sum = 0; data.forEach(function(value) { sum += value; }); //爲每一個數組元素的值自加1 data.forEach(function(v, i, a) { a[i] = v + 1; }); /** * map() * 調用數組的每一個元素傳遞給指定的函數,並返回一個新的數組,它包含該函數的返回值 */ a = [1,2,3]; b = a.map(function(x) { return x*x; }); //b是[1,4,9] /** * filter() * 調用數組的每一個元素傳遞給制定的函數,若函數返回值爲true則表示篩選經過,最終返回一個篩選後的數組 */ a = [5,4,3,2,1]; smallvalues = a.filter(function(x) { return x < 3; }); // [2,1] /** * every() 和 some() * 對數組進行邏輯斷定,返回true或false,every()是取與,some()是取或 */ /** * reduce() 和 reduceRight() * 具體看權威指南的158頁 */ /** * indexOf() 和 lastIndexOf() * 返回數組中具備給定值的元素的索引,效果同字符串的方法同樣 */ /** * Array.isArray(arr) * 判斷對象是不是數組 */