JavaScript 陣列學習 常用方法 排序

2021-09-04 05:54:06 字數 4099 閱讀 5327

new array(length / content);

字面量 var arr = [ ];

var arr = [1, , 1]; // [l, undefined, 1]

arr.length; // 3

var arr = new array(1,2,3,4,5); // [1, 2, 3, 4, 5]

// 建立乙個長度為10的陣列

var arr = new array(10);

arr.length; // 10

// 不能傳小數

// 建立陣列 推薦寫 字面量

var arr = ;

arr[num] // 不可以溢位讀 undefined

arr[num] = ***;  // 可以溢位寫

var arr = ;

arr[10] = 10;

arr.length; // 11

push, pop, shift, unshift, sort, reverse 

splice

concat, join   -->  split, tostring, slice

// push 返回 長度 在陣列的最後一位新增

var arr = ;

arr.push(10); // 1 arr = [10]

arr.push(1, 2, 3); // 4 arr = [10, 1, 2, 3]

// 封乙個mypush

array.prototype.mypush = function()

return this.length;

}// pop 剪下 返回陣列的最後一位

var arr1 = [1, 2, 3];

arr1.pop(); // 3 arr1 = [1, 2]

// unshift 在陣列的第一位新增 返回長度 可以一次性新增多個

var arr2 = [1, 2];

arr.unshift(0); // 3 arr2 = [0, 1, 2]

arr.unshift(9, 8, 7); // 6 arr2 = [9, 8, 7, 0, 1, 2]

// myunshift 也可以使用新陣列接收arguments 然後再把原陣列push進來,或者把兩個陣列拼接

array.prototype.myunshift = function ()

this[0] = arguments[i - 1];

}return this.length;

}// shift 剪下陣列的第一位

var arr3 = [1, 2, 3];

arr3.shift(); // 1 arr3 = [2, 3]

// reverse 返回新陣列 逆轉原陣列

var arr4 = [1, 2, 3];

arr4.reverse(); // arr4 = [3, 2, 1]

// splice 剪下 返回擷取的值 更多用於新增 第乙個引數可以用負數 表示倒數第幾個

// arr.splice(從第幾位開始,擷取多少長度,在切口處新增新的資料)

var arr5 = [1, 2, 3, 5];

arr5.splice(1, 2); // [2, 3]

arr5.splice(1, 0, 2) // 返回空 因為沒擷取,arr5 = [1, 2, 5]

// 傳負數實現倒數的原理

// pos += pos > 0 ? 0 : this.length;

// pos >= 0 || pos < this.length

// 如果length是5 那麼 -1 + 5 = 4;-1 就實現了 倒數一位數

// sort 排序 可以傳個方法 按照想要的方式去排序

var arr6 = [1, 0, 5, 4];

arr6.sort(); // arr6 = [0, 1, 4, 5]

// arr6.sort().reverse(); // 倒序 先正序再逆戰陣列實現倒序

// 傳方法 必須寫兩個形參,排序的結果根據返回值來定

// 1)當返回值是負數。前面的數放在前面

// 2)當返回值是正數,後面的數放在前面

// 3)當返回值為 0,不改變

var arr7 = [1, 3, 5, 4, 10];

arr7.sort(function(a, b) )

// arr7 = [1, 3, 41, 5, 10]

1) 給乙個有序的陣列亂序

var arr = [1,2,3,4,5,6,7];

arr.sort(function(a,b))

2)給物件按年齡排序

var obj = 

var obj2 =

var obj3 =

var arr = [obj1, obj2, obj3];

arr.sort(function(a, b) )

3)按位元組長度排序

var arr = ['ab','你好啊', 'hello','風一樣男子'];

arr.sort(function(a, b))

function retbytes(str)

}return num;

}

var arr = [1, 2];

var arr1 = [3, 4];

var arr2 = arr.concat(arr1);

console.log(arr2); // [1,2,3,4]

var arr = [1,2,3,4];

var str = arr.tostring();

console.log(str); // '1,2,3,4'

var arr = [1,2,3,4,5,6];

// slice(從該為開始擷取,擷取到該為)

var arr1 = arr.slice(1,3);

console.log(arr1); // [2,3]

// slice() 傳一位 那就從該位擷取到最後一位 不寫那就擷取全部陣列

// 可以傳 負數 倒數

var arr2 = [1,2,3,4,5];

var arr3 = arr2.slice(1);

console.log(arr3); // [2,3,4,5]

// 返回字串

// 如果不傳引數 預設用 , 連線

var arr = [1,2,3,4];

var str = arr.join('~');

console.log(str); // '1~2~3~4';

// arr.join() 可以和 str.split() 可逆

var arr1 = [1,2,3,4];

var str1 = arr1.join('-');

console.log(str1); // '1-2-3-4';

var arr2 = str1.split('-');

console.log(arr2); // ['1','2','3','4']

// 練習 把下列字串連線

// 效率太低 原始值存在棧記憶體,first-in last-out

// var newstr = str1 + str2 + str3 + str4 + str5 + str6 + str7 + str8 + str9;

// 用陣列 雜湊結構

var strarr = [str3,str4,str5,str6,str7,str8,str9];

var newstr = strarr.join('');

JavaScript學習 陣列

陣列的大小和下標 宣告就用array 的方式,和字串不同,陣列是可變的,不只是元素可變,長度也可變,可以通過設定length和修改超過length範圍的元素來改變陣列的長度。var a 1,2,3 alert a a.length 1,2,3 3 a.length 6 直接修改陣列的長度 alert...

javaScript中陣列 字串 數學的常用方法

1 數學的方法 2 字串的方法 一 擷取類 二 查詢類 7.indexof 查詢的字元,起始的位置 從前往後找,找到指定字元的位置,沒找到 1 8.lastindexof 查詢的字元,起始的位置 從後往前找,找到指定字元的位置,沒找到 1 9.startswith 查詢的字元,起始的位置 字串中起始...

javascript陣列操作

push 尾部新增元素 unshift 頭部新增元素 var arr 3,5,34 arr.push 7 alert arr pop 從尾部刪除元素 shift 從頭部刪除元素 splice 起始位置,刪除的幾個,用新元素填補刪除位置 刪除元素 splice 1,2 從第二個元素往後刪除2個元素 新...