Demo
這一個章節跟第四天一樣主要是利用Javascript的Array物件中方法做資料處理。
第一個語法是使用some()作為練習,是偵測在peoele中是否有人大於19歲?
const isAdult = people.some(person => ((new Date()).getFullYear()) – person.year >= 19);
console.log({isAdult});
const allAdults = people.every(person => ((new Date()).getFullYear()) – person.year >= 19);
console.log({allAdults});
const comment = comments.find(comment =>

=== 823423);
console.log(comment);
const index = comments.findIndex(comment =>

=== 823423);
console.log(index);
Array.prototype.some()
some()是測試陣列中是否有符合的值,只要其中一個有符合配對即回傳true。
function isBiggerThan10(element, index, array) {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true
Array.prototype.every()
every()測試陣列中全部是否有符合,很類似some(),但every()是全部都符合配對才回傳true,只要其中一樣不符合及回傳false。
function isBelowThreshold(currentValue) {
return currentValue < 40;
}
var array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// expected output: true
Array.prototype.find()
find()回傳第一個符合的值。
function isBigEnough(element) {
return element >= 15;
}
[12, 5, 8, 130, 44].find(isBigEnough); // 130
Array.prototype.findIndex()
find()回傳第一個符合值的索引值。
var array1 = [5, 12, 8, 130, 44];
function findFirstLargeNumber(element) {
return element > 13;
}
console.log(array1.findIndex(findFirstLargeNumber));
// expected output: 3
Array.prototype.slice()
slice()是在原陣列切割出特定區間的元素,作為新的陣列。
var fruits = [‘Banana’, ‘Orange’, ‘Lemon’, ‘Apple’, ‘Mango’];
var citrus = fruits.slice(1, 3);
Array.prototype.splice()
splice()使用有兩種,第一種是現有的陣列中加入新的元素,第二種方式為在現有的陣列中移除內容。
// add
var myFish = [‘angel’, ‘clown’, ‘mandarin’, ‘sturgeon’];
var removed = myFish.splice(2, 0, ‘drum’);
// remove
var removed = myFish.splice(3, 1);
// remove and add
var removed = myFish.splice(2, 1, ‘trumpet’);
tags: Array
转载请注明:XAMPP中文组官网 » Day7 Array Cardio Day 2