js中對陣列的定義及操作
阿新 • • 發佈:2019-02-10
1、陣列的定義
定義陣列有兩種常用的方式:1、字面量定義陣列,2、使用new關鍵字定義陣列
1、字面量定義陣列如下:
<script>
var arr = (1,2,3,[4,5,6],{}); //其中陣列元素可以是number,string,object
console.log(arr);//在控制檯輸出陣列
</script>
2、使用new關鍵字定義陣列如下:
<script>
var arr = new Array[1,2,3,[4,5,6],{}];
console.log(arr);
3、注意事項:
使用new定義陣列時,如果定義為:var arr = new Array(n);則表示定義的是陣列長度為n的陣列,如果為空值,則表示定義了一個空陣列。
2、陣列的操作
對陣列常見的操作有:新增陣列元素,刪除陣列元素,修改陣列元素,遍歷陣列元素
1、新增陣列元素如下:
方法1:
<script>
var arr = [1,2,3,4,"A"];
arr[5] = "M"; //如果為陣列元素賦值的索引i大於陣列長度,則新增陣列元素後的陣列長度為 i+1
console.log(arr);
</script>
方法2:使用push()方法;
<script>
var arr = [1,2,3,4,"A"];
arr.push("BB","cc" );//在陣列元素的後面新增,可以追加多個元素,
console.log(arr);
</script>
方法3:使用unshift()方法;
<script>
var arr = [1,2,3,4,"A"];
arr.unshift("BB","cc");//在陣列元素的前面新增,可以追加多個元素,
console.log(arr);
</script>
2、刪除陣列元素:
方法1:使用pop()方法,刪除最後一個數組元素;
<script>
var arr = ["A", "B", "C" , "D"];
arr.pop(); //刪除最後一個元素,沒有引數,每次只能刪除一個
console.log(arr);
</script>
方法2:使用shift()方法,刪除第一個元素
<script>
var arr = ["A", "B", "C", "D"];
arr.shift(); //刪除第一個陣列元素,沒有引數,每次只能刪除一個
console.log(arr);
</script>
3、修改陣列
<script>
var arr = ["A", "B", "C", "D"];
arr[2] = "E";
console.log(arr);
</script>
4、遍歷一維陣列
<script>
var arr = ["A", "B", "C", "D"];
console.log(arr.length);
for(var i = 0; i<arr.length;i++){
console.log(arr[i]);
}
</script>
5、遍歷二維陣列
<script>
var arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for(var i = 0;i<arr.length;i++){ //先遍歷arr
for(var j = 0;j<arr[i].length;j++){ //遍歷arr元素中的陣列元素
console.log(arr[i][j]);
}
}
</script>
3、陣列中常見的方法
1、join():將陣列中的元素,使用某種符號連線起來,形成一個字串
<script>
var arr = ["A","B","C","D"]
var a = arr.join("*")
console.log( a);
var a = arr.join("+")
console.log( a);
var a = arr.join("-")
console.log( a);
var a = arr.join("/")
console.log(a);
console.log(typeof a);
</script>
2、reverse():將陣列中的元素倒置順序;
<script>
var arr = ["A","B","C","D"]
var a = arr.reverse(); //倒置陣列順序
for(var i = 0; i< arr.length; i++) //遍歷陣列
{
console.log(a[i]);
}
</script>
3、concat() :將多個數組拼接成一個數組,其中的多維陣列是不會展開的
<script>
var arr = ["A","B","C","D"];
var arr1 = ["A","B","C","D"];
var arr2 = ["A","B","C","D"];
var arr3 = ["A","B","C","D" ,[1,2,3]];
var a = arr.concat(arr1,arr2,arr3) //concat將多個數組拼接成一個數組,其中的多維陣列是不會展開的
console.log(a);
console.log(typeof a)
</script>
4、sort():將陣列中的元素按照ASCII從小到大排序
<script>
var arr = ["d","AbC","AaC","D",1,8,6];
var a = arr.sort(); //sort是單個字元比較 例如AbD和AaC 先比較第一個字母,在比較第二個字母,第二個字母那個小就排在前面,之後就不比較後面的字母大小了
console.log(a);
</script>
5、slice():擷取陣列中的元素;
<script>
var arr = ["A","B","C","D"];
var a = arr.slice(1,3); //擷取的元素包括開始擷取的元素,但是不包括最後擷取的元素
console.log(a);
var a = arr.slice(1); //只寫一個則表示擷取到最後一個元素
console.log(a);
</script>
6、toString():將陣列轉換成字串型別
<script>
var arr = ["A","B","C","D"];
var a = arr.toString();
console.log(a);
console.log(typeof a);
</script>