iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 7
0

Day7 Array Cardio Day 2

Demo

這一個章節跟第四天一樣主要是利用Javascript的Array物件中方法做資料處理。

  1. 第一個語法是使用some()作為練習,是偵測在peoele中是否有人大於19歲?
const isAdult = people.some(person => ((new Date()).getFullYear()) - person.year >= 19);
console.log({isAdult});

  1. 第二個語法是使用every()作為練習,是偵測在peoele中全部的人都大於19歲?
const allAdults = people.every(person => ((new Date()).getFullYear()) - person.year >= 19);
console.log({allAdults});

  1. 第三個語法是使用find()作為練習,是尋找符合陣列中符合的資料。
const comment = comments.find(comment => comment.id === 823423);
console.log(comment);

  1. 第四個語法是使用findIndex()作為練習,是尋找符合陣列中符合資料的索引值。
const index = comments.findIndex(comment => comment.id === 823423);
console.log(index);

Js

  1. 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
  1. 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
  1. Array.prototype.find()
    find()回傳第一個符合的值。
function isBigEnough(element) {
  return element >= 15;
}

[12, 5, 8, 130, 44].find(isBigEnough); // 130
  1. 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
  1. Array.prototype.slice()
    slice()是在原陣列切割出特定區間的元素,作為新的陣列。
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);

  1. 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

上一篇
Day6 Ajax Type Ahead
下一篇
Day8 Fun with HTML5 Canvas
系列文
JavaScript 30實作心得筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言