取得陣列長度度,再利用for迴圈將陣列輸出
var items = ['dog', 'cat', 'bee', 'bear'];
console.log(items.length); // 4
var school = [
{
class: 'a班',
students: 20
},
{
class: 'b班',
students: 22
},
{
class: 'c班',
students: 24
},
]
//計算學校總人數
var schoolLength = school.length;
var sum = 0;
for(var i=0; i<schoolLength; i++){
sum += school[i].students;
}
console.log(sum); // 66
反轉
var num = [1,2,3];
num.reverse();
console.log(num);//[3, 2, 1]
//可以使用console.table會以表格方式呈現
console.table(num)
排序,預設由小到大
var num = [3,2,1];
num.sort();
console.log(num);//[1, 2, 3]
將值增加/移除陣列最後一個位置
var num = [1,2,3,4];
num.push(5,6,7); //增加到最後的位置
console.log(num);//[1, 2, 3, 4, 5, 6, 7]
var num = [1,2,3,4];
num.pop(); //移除最後一個位置
console.log(num);//[1, 2, 3]
取出/加入第一個內容
var num = [1,2,3,4,5,6,7,8];
//shift移除陣列的第一個內容
var shiftNum = num.shift();
//unshift增加指定內容到第一個位置
var unshiftNum = num.unshift(12,22);
console.log('shift取出的數字:' + shiftNum); // 1
console.log('執行shiftnum後的num陣列:'); // [2, 3, 4, 5, 6, 7, 8]
console.log('執行unshiftNum的num陣列:' + num); // 12,22,2,3,4,5,6,7,8
插入/刪除資料
var num = [1,2,3];
num.splice(2,0,100,200,300); //沒有被刪除元素,100,200,300加入到第二個位置
console.log(num);//[1, 2, 100, 200, 300, 3]
var num = [1,2,3,4,5,6,7,8];
num.splice(2,3,100,200,300); //刪除3,4,5並把100,200,300加到此位置
console.log(num);//[1, 2, 100, 200, 300, 6, 7, 8]
篩選
var num = [1,2,3,4,5,6,7,8,9,10]
//篩選被3整除的數
var filterNum = num.filter(function(item){
return item % 3 === 0;
})
console.log(filterNum); //[3, 6, 9]
判斷陣列中是否包含某個值
indexOf(判斷的值, 從陣列哪個位置開始)
var num = [1,2,3,4,5,6,7,8];
console.log(num.indexOf(6));// 5
var num = [1,2,3,4,5,6,7,8];
console.log(num.indexOf(9));//-1
會return一個值
var num = [1,2,3,4,5];
var mapNum = num.map(function(item){
return item + 10
})
console.log(mapNum); //[11, 12, 13, 14, 15]
陣列裡面元素做累加,從左邊到右邊
var num = [1,2,3,4,5,6,7,8,9,10];
var total = num.reduce(function(prev,next){
return prev + next
}, 0);
console.log(total); // 55
將兩個陣列結合在一起
var numA = [1,2,3,4,5];
var numB = [6,7,8,9];
var numConcat = numA.concat(numB);
console.log(numConcat);
與for很像,寫法更簡潔
[].forEach(function(value,index,array){
//code something
});
value:陣列內容 index:索引值(選填) array:陣列本身(選填)
var num = [1,2,3,4,5];
num.forEach(function(n){
console.log(n) // 1 2 3 4 5
})
//ES6簡寫
var num = [1,2,3,4,5];
num.forEach(item => {
console.log(item) // 1 2 3 4 5
})
var num = [1,2,3,4,5];
num.forEach((item,index,arr) =>{
arr[index] = item * 2;
})
console.log(num); //2, 4, 6, 8, 10