有時面試時會看到需求要ES5、ES6的技術,
其實不太了解是甚麼,
剩下最後的幾天來看看吧!
在一開始寫上"use strict";
便會開啟strict mode,
在strict mode下會有許多限制:
例如像是不能使用未被宣告的變數。
string.trim()
可以移除掉前後多餘不必要的空格,
但不能移除word和word之間的:
var myStr = " Too many white spaces !!! ";
console.log(myStr.trim());
// Too many white spaces !!!
Array.isArray()
確認object是否為array,
var fruit = ["apple", "banana", "lemon"];
var family = {
father: "Jorge",
mother: "Mary",
brother: "Jack"
};
var bossBrain = [];
console.log(Array.isArray(fruit)); // true
console.log(Array.isArray(family)); // false
console.log(Array.isArray(bossBrain)); //true
Array.forEach()
可以call a function 給 array中的每個 element使用?!
var number = [1, 2, 5];
var myFunc = function(x) {
console.log(x) // 1, 2, 5
};
number.forEach(myFunc);
Array.map()
Array.map()
可以創建一個新的array
新array的elements為舊array的elements經由function回傳的結果,
原本的array並不會被改變。
var number = [1, 2, 5];
var myFunc = function(x) {
return x + 2;
};
var arr2 = number.map(myFunc);
console.log(arr2); // [3, 4, 7]
console.log(number); // [1, 2, 5]
Array.filter()
Array.filter()
可以創建一個由舊的array中通過function檢驗之element所構成的新array。
var number = [1, 2, 5, 11, 17, 25];
var myFunc = function(x) {
return x < 10;
};
var arr2 = number.filter(myFunc);
console.log(arr2); // [1, 2, 5]
console.log(number); // [1, 2, 5, 11, 17, 25]
Array.reduce()
Array.reduceRight()
Array.every()
可以檢查array中的elements是否全部通過function的條件。
var number = [1, 2, 5, 11, 17, 25];
var myFunc = function(x) {
return x > 0;
};
var myFunc2 = function(x) {
return x > 10;
};
var arr = number.every(myFunc);
var arr2 = number.every(myFunc2);
console.log(arr); // true
console.log(arr2); // false
Array.some()
可以檢查array中的elements是否至少有一個通過function的條件。
var number = [1, 2, 5, 11, 17, 25];
var myFunc = function(x) {
return x > 20;
};
var myFunc2 = function(x) {
return x > 30;
};
var arr = number.some(myFunc);
var arr2 = number.some(myFunc2);
console.log(arr); // true
console.log(arr2); // false
Array.indexOf()
、 Array.lastIndexOf()
可以尋找array中是否有某個元素並且回傳index值,
如果找不到則會回傳-1
,
第二個parameter則是可以指定從哪個index開始尋找的。
var number = [1, 2, 5, 11, 17, 25];
console.log(number.indexOf(5)); // 2
console.log(number.indexOf(7)); // -1
console.log(number.indexOf(5, 3)); // -1
lastIndexOf()
與indexOf()
是相同的,
但是方向是從反方向。
var number = [1, 2, 5, 11, 17, 5, 25];
console.log(number.lastIndexOf(5)); // 5
console.log(number.indexOf(5)); // 2
內容好像有點多,明天可以繼續寫