ãã®ç« ã§ã¯ãã¤ã³ããã¯ã¹å¤ã«ããé åºä»ãããããã¼ã¿ã®ã³ã¬ã¯ã·ã§ã³ãç´¹ä»ãã¾ããããã«ã¯é
åã¨ãArray
ãªãã¸ã§ã¯ãã TypedArray
ãªãã¸ã§ã¯ããªã©ã®é
åé¢¨ã®æ§é ç©ãããã¾ãã
é åã¯ãååãã¤ã³ããã¯ã¹ã§åç §ããå¤ãããªãé åºä»ããªã¹ãã§ãã
ä¾ãã°ãemp
ã¨ããé
åã使ããæ°å¤ã®å¾æ¥å¡çªå·ã§ã¤ã³ããã¯ã¹ä»ããã¦å¾æ¥å¡åãæ ¼ç´ããã¨ãã¾ããã¤ã¾ããemp[0]
ã徿¥å¡çªå· 0ãemp[1]
ã徿¥å¡çªå· 1ãã®ããã«ãªãã¾ãã
JavaScript ã¯æç¢ºãªé
åãã¼ã¿åãæã£ã¦ãã¾ãããããããã¢ããªã±ã¼ã·ã§ã³ã§ã¯é
åã¨ãã¦æ©è½ããå®ç¾©æ¸ã¿ã® Array
ãªãã¸ã§ã¯ãã¨ãã®ã¡ã½ãããå©ç¨ãããã¨ãã§ãã¾ããArray
ãªãã¸ã§ã¯ãã«ã¯ãçµåãå転ãã½ã¼ããªã©æ§ã
ãªæ¹æ³ã§é
åãæä½ããã¡ã½ãããããã¾ããã¾ããé
åã®é·ããç¹å®ããããããã£ããæ£è¦è¡¨ç¾ã§ä½¿ç¨ããããããã£ãªã©ãããã¾ãã
ãã®è¨äºã§ã¯é åãä¸å¿ã«èª¬æãã¾ãããé åã¨åä»ãé åã«ã¯å ±éããã¡ã½ãããå¤ããããåãæ¦å¿µã®å¤ããåä»ãé åã«ãå½ã¦ã¯ã¾ãã¾ããåä»ãé åã®è©³ç´°ã«ã¤ãã¦ã¯ãåä»ãé åã¬ã¤ããåç §ãã¦ãã ããã
é åã®çæä»¥ä¸ã®æã¯åãé åãçæãã¾ãã
const arr1 = new Array(element0, element1, /* â¦, */ elementN);
const arr2 = Array(element0, element1, /* â¦, */ elementN);
const arr3 = [element0, element1, /* â¦, */ elementN];
element0, element1, â¦, elementN
ã¯é
åè¦ç´ ã«ãªãå¤ã®ãªã¹ãã§ãããããã®å¤ãæå®ãããã¨ããã®é
åã®è¦ç´ ã¯ãããã®å¤ã«åæåããã¾ããé
åã® length
ããããã£ã¯å¼æ°ã®æ°ã«è¨å®ããã¾ãã
è§æ¬å¼§ã«ããæ§æã¯ãé åãªãã©ã«ãã¾ãã¯ãé ååæååãã¨å¼ã°ãã¾ãããã®æ§æã¯ãã®ä»ã®å½¢å¼ã«ããé å使ãããçããããä¸è¬çã«å¥½ã¾ããæ¹æ³ã§ãã詳細ã«ã¤ãã¦ã¯ãé åãªãã©ã«ãã覧ãã ããã
é·ããã¼ãã§ã¯ãªããé ç®ã®ãªãé åã使ããã«ã¯ã以ä¸ã®æ¹æ³ã使ç¨ã§ãã¾ãã
// ããã¯...
const arr1 = new Array(arrayLength);
// ...ãã®ãããªçµæã«ãªãã¾ã
const arr2 = Array(arrayLength);
// ãããã¾ã£ããåã广ã§ãã
const arr3 = [];
arr3.length = arrayLength;
ã¡ã¢: ä¸è¨ã®ã³ã¼ãã§ã¯ãarrayLength
㯠Number
ï¼æ°å¤ï¼ã§ããå¿
è¦ãããã¾ãããããªãã¨ãï¼æå®ããå¤ã®ï¼åä¸ã®è¦ç´ ãæã¤é
åãçæããã¾ããarr.length
ãå¼ã³åºã㨠arrayLength
ãè¿ããã¾ãããé
åã«ã¯è¦ç´ ãåå¨ãã¦ãã¾ããããã®é
åã§ for...in
ã«ã¼ããå®è¡ãã¦ããé
åã®è¦ç´ ã¯è¿ããã¾ããã
ä¸è¨ã®ããã«æ°è¦ã«å®ç¾©ãã夿°ã«å²ãå½ã¦ãã ãã§ãªããæ°è¦ã¾ãã¯æ¢åã®ãªãã¸ã§ã¯ãã®ããããã£ã«é åãå²ãå½ã¦ããã¨ãã§ãã¾ãã
const obj = {};
// â¦
obj.prop = [element0, element1, /* â¦, */ elementN];
// ã¾ãã¯
const obj = { prop: [element0, element1, /* â¦, */ elementN] };
åä¸ã®è¦ç´ ã§é
åãåæåãããã¨ãã¦ããã®è¦ç´ ã Number
ã§ããå ´åãè§æ¬å¼§ã®æ§æã使ç¨ããå¿
è¦ãããã¾ããåä¸ã® Number
å¤ã Array()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã颿°ã«æ¸¡ãããã¨ãåä¸ã®æ°å¤è¦ç´ ã¨ãã¦ã§ã¯ãªããarrayLength
ã¨ãã¦è§£éããã¾ãã
ããã¯ãæ°å¤ 42 ã®è¦ç´ ä¸ã¤ã ãã®é åãçæãã¾ãã
ããã¯ãè¦ç´ ããªã arr.length ã 42 ã«è¨å®ãããé åãçæãã¾ãã
ããã¯æ¬¡ã®ã³ã¼ãã¨åãã§ãã
const arr = [];
arr.length = 42;
N
ã®å¤ãå°æ°é¨åãã¼ãã§ã¯ãªã宿°ã§ããå ´åã Array(N)
ãå¼ã³åºãã¨ãçµæã¯ RangeError
ã«ãªãã¾ãã以ä¸ã®ä¾ã§ã¯ãã®åä½ã示ãã¾ãã
const arr = Array(9.3); // RangeError: Invalid array length
ä»»æã®ãã¼ã¿åã®åä¸ã®è¦ç´ ãæã¤é åã使ããããã°ãé åãªãã©ã«ã使ç¨ããæ¹ãå®å ¨ã§ãããããã¯ãåä¸ã®è¦ç´ ã追å ããåã«ç©ºã®é åã使ãã¾ãããã
ES2015 ããåä¸ã®è¦ç´ ãæã¤é
åãçæããããã« Array.of
éçã¡ã½ããã使ç¨ãããã¨ãã§ãã¾ãã
const wisenArray = Array.of(9.3); // wisenArray 㯠1 ã¤ã®è¦ç´ 9.3 ã ããæã¤é
å
é
åè¦ç´ ã®åç
§
è¦ç´ ã¯ããããã£ã§ãããã®ã§ãããããã£ã¢ã¯ã»ãµã¼ã使ã£ã¦ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã以ä¸ã®é åãå®ç¾©ããã¨ãã¾ãã
const myArray = ["Wind", "Rain", "Fire"];
è¦ç´ ã®ã¤ã³ããã¯ã¹ã¯ 0 ããå§ã¾ãã®ã§ãé
åã® 1 çªç®ã®è¦ç´ ã myArray[0]
ã2 çªç®ã®è¦ç´ ã myArray[1]
ã¨å¼ã¶ãã¨ãã§ãã¾ãã
ã¡ã¢: ããããã£ã¢ã¯ã»ãµã¼ã使ç¨ãã¦ããªãã¸ã§ã¯ãã®ããã«é åã®ä»ã®ããããã£ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
const arr = ["one", "two", "three"];
arr[2]; // three
arr["length"]; // 3
é
åã¸ã®ãã¼ã¿è¿½å
ä¸è¨ã®ããã«ãè¦ç´ ã«å¤ãå²ãå½ã¦ããã¨ã§é åã«ãã¼ã¿ã追å ãããã¨ãã§ãã¾ãã
const emp = [];
emp[0] = "Casey Jones";
emp[1] = "Phil Lesh";
emp[2] = "August West";
ã¡ã¢: ä¸è¨ã®ã³ã¼ãã§é åæ¼ç®åï¼è§æ¬å¼§ï¼å ã«æ´æ°ã§ã¯ãªãå¤ãæå®ããã¨ãé åè¦ç´ ã§ã¯ãªãé åã表ããªãã¸ã§ã¯ãã®ããããã£ã¨ãã¦ä½æããã¾ãã
const arr = [];
arr[3.4] = "Oranges";
console.log(arr.length); // 0
console.log(Object.hasOwn(arr, 3.4)); // true
é åã使ããã¨ãã«ãããã¼ã¿ã追å ãããã¨ãã§ãã¾ãã
const myArray = new Array("Hello", myVar, 3.14159);
// ã¾ãã¯
const myArray = ["Mango", "Apple", "Orange"];
é
åã®é·ãã®çè§£
å®è£ ã¬ãã«ã§ã¯ãJavaScript ã®é åã¯ãé åã®ã¤ã³ããã¯ã¹ãããããã£åã¨ãã¦ä½¿ç¨ãã¦ããã®è¦ç´ ãæ¨æºçãªãªãã¸ã§ã¯ãã®ããããã£ã¨ãã¦æ ¼ç´ãã¾ãã
length
ããããã£ã¯ç¹å¥ã§ããããã¯å¸¸ã«ãåå¨ããæå¾ã®è¦ç´ ã®ã¤ã³ããã¯ã¹ãã大ããªæ£ã®æ´æ°ãã«ãªãã¾ããï¼æ¬¡ã®ä¾ã§ã¯ã'Dusty'
ã®ã¤ã³ããã¯ã¹ã¯ 30
ãªã®ã§ãcats.length
㯠30 + 1
ãè¿ãã¾ããï¼
JavaScript ã®é
åã®ã¤ã³ããã¯ã¹ã¯ 0
ããå§ã¾ããã®ã§ããã 1
ããã§ã¯ãªããã¨ãæãåºãã¦ãã ãããããã¯ãlength
ããããã£ã¯é
åã«æ ¼ç´ããã¦ããæå¤§ã®ã¤ã³ããã¯ã¹ãã 1 ã¤å¤§ããå¤ã«ãªãã¨ãããã¨ã§ãã
const cats = [];
cats[30] = ["Dusty"];
console.log(cats.length); // 31
length
ããããã£ã«å¤ãå²ãå½ã¦ããã¨ãã§ãã¾ãã
æ ¼ç´ããã¦ããã¢ã¤ãã ã®æ°ããå°ããå¤ãè¨å®ããã¨ãé
åã¯åãæ¨ã¦ããã¾ããããªãã¡ã0
ã«è¨å®ããã¨å®å
¨ã«é
åã空ã«ãã¾ãã
const cats = ["Dusty", "Misty", "Twiggy"];
console.log(cats.length); // 3
cats.length = 2;
console.log(cats); // [ 'Dusty', 'Misty' ] - Twiggy ã¯åé¤ããã
cats.length = 0;
console.log(cats); // []; é
å cats ã¯ç©ºã«ãªã
cats.length = 3;
console.log(cats); // [ <3 ã¤ã®ç©ºã¢ã¤ãã > ]
é
åã®å復å¦ç
ããè¡ãããã®ã¯é åã«å«ã¾ããå¤ã«å¯¾ããããããã®å¤ã«ã¤ãã¦ã次ã®ããã«ãªãããã®å¦çãè¡ããã¨ã§ãã
const colors = ["red", "green", "blue"];
for (let i = 0; i < colors.length; i++) {
console.log(colors[i]);
}
é
åå
ã®è¦ç´ ãããããè«çå¤ã¨ãã¦ã¯ false
ã«è©ä¾¡ãããªããã¨ãããã£ã¦ããå ´å â ä¾ãã°é
åã DOM ãã¼ãã®ã¿ã§æ§æããã¦ããå ´åãªã©ã«ã¯ãä¾ã®ããã«ãããå¹ççãªè¡¨ç¾ã使ç¨ã§ãã¾ãã
const divs = document.getElementsByTagName("div");
for (let i = 0, div; (div = divs[i]); i++) {
/* div ã«å¯¾ãã¦ä½ããå¦çããã */
}
ãã®ä¾ã§ã¯ãé
åã®é·ãã®ãã§ãã¯ã«æãããªã¼ãã¼ããããåé¿ãã¦ãã¾ããããã¦ãã便å©ã«ä½¿ããããã«ãã«ã¼ãã®å復ã®ãã³ã« div
夿°ã«ç¾å¨ã®é
ç®ã代å
¥ããããã«ãã¦ãã¾ãã
é
åãå復å¦çããå¥ã®æ¹æ³ã¨ã㦠forEach()
ã¡ã½ãããããã¾ãã
const colors = ["red", "green", "blue"];
colors.forEach((color) => console.log(color));
// red
// green
// blue
forEach
ã«æ¸¡ããã颿°ã§ã¯ããã®é¢æ°ã¸ã®å¼æ°ã«é
åã®è¦ç´ ãæ¸¡ããã¦ãé
åå
ã®åé
ç®ãã¨ã« 1 åãã¤å®è¡ããã¾ããå¤ãå²ãå½ã¦ããã¦ããªãè¦ç´ 㯠forEach
ã«ã¼ãã§å復ããã¾ããã
é
åå®ç¾©ã®éã«çç¥ãããè¦ç´ ã¯ãforEach
ã«ãã£ã¦å復å¦çãããã¨ãã«ã¯ç¾ãã¾ããããé
åè¦ç´ ã« undefined
ãå²ãå½ã¦ããã¦ããå ´åã¯ç¾ãããã¨ã«æ³¨æãã¦ãã ããã
const sparseArray = ["first", "second", , "fourth"];
sparseArray.forEach((element) => {
console.log(element);
});
// Logs:
// first
// second
// fourth
if (sparseArray[2] === undefined) {
console.log("sparseArray[2] is undefined"); // true
}
const nonsparseArray = ["first", "second", undefined, "fourth"];
nonsparseArray.forEach((element) => {
console.log(element);
});
// Logs:
// first
// second
// undefined
// fourth
JavaScript ã§ã¯ãé
åã®è¦ç´ ã¯æ¨æºçãªãªãã¸ã§ã¯ãããããã£ã¨ãã¦ä¿åãããã®ã§ãfor...in
ã«ã¼ãã使ã£ã¦ JavaScript é
åãå復å¦çããã®ã¯ãå§ãã§ãã¾ãããã¨ããã®ããé常ã®è¦ç´ ã¨ãã¹ã¦ã®åæå¯è½ãªããããã£ãç¾ããããã§ãã
Array
ãªãã¸ã§ã¯ãã«ã¯ä»¥ä¸ã®ãããªã¡ã½ãããããã¾ãã
concat()
㯠2 ã¤ã®é
åãçµåããæ°ããé
åãè¿ãã¾ãã
let myArray = ["1", "2", "3"];
myArray = myArray.concat("a", "b", "c");
// myArray 㯠["1", "2", "3", "a", "b", "c"] ã«ãªã
join()
ã¯ãé
åã®ãã¹ã¦ã®è¦ç´ ãæååã«çµåãã¾ãã
const myArray = ["Wind", "Rain", "Fire"];
const list = myArray.join(" - "); // list 㯠"Wind - Rain - Fire" ã«ãªã
push()
㯠1 ã¤ä»¥ä¸ã®è¦ç´ ãé
åã®æå¾ã«è¿½å ãããã®æ°ããé
åã®é·ããè¿ãã¾ãã
const myArray = ["1", "2"];
myArray.push("3"); // myArray 㯠["1", "2", "3"] ã«ãªã
pop()
ã¯é
åããæå¾ã®è¦ç´ ãåãé¤ãããã®è¦ç´ ãè¿ãã¾ãã
const myArray = ["1", "2", "3"];
const last = myArray.pop();
// myArray 㯠["1", "2"] ã«ãlast 㯠"3" ã«ãªã
shift()
ã¯é
åããæåã®è¦ç´ ãåãé¤ãããã®è¦ç´ ãè¿ãã¾ãã
const myArray = ["1", "2", "3"];
const first = myArray.shift();
// myArray 㯠["2", "3"]ã«ãfirst 㯠"1" ã«ãªã
unshift()
㯠1 ã¤ä»¥ä¸ã®è¦ç´ ãé
åã®å
é ã«è¿½å ãããã®æ°ããé
åã®é·ããè¿ãã¾ãã
const myArray = ["1", "2", "3"];
myArray.unshift("4", "5");
// myArray 㯠["4", "5", "1", "2", "3"] ã«ãªã
slice()
ã¯é
åã®ä¸é¨ãæ½åºããæ°ããé
åãè¿ãã¾ãã
let myArray = ["a", "b", "c", "d", "e"];
myArray = myArray.slice(1, 4); // [ "b", "c", "d"]
// ã¤ã³ããã¯ã¹ 1 ããå§ãã 3 ã¾ã§ãã¹ã¦ã®è¦ç´ ã
// å±éãã
at()
ã¡ã½ããã¯ãé
åã®æå®ããã¤ã³ããã¯ã¹ã®è¦ç´ ãè¿ããã¤ã³ããã¯ã¹ãç¯å²å¤ã®å ´å㯠undefined
ãè¿ãã¾ããç¹ã«ãè² ã®ã¤ã³ããã¯ã¹ã使ç¨ãã¦é
åã®æ«å°¾ããè¦ç´ ã«ã¢ã¯ã»ã¹ããå ´åã«ä½¿ç¨ããã¾ãã
const myArray = ["a", "b", "c", "d", "e"];
myArray.at(-2); // "d", the second-last element of myArray
splice()
ã¯è¦ç´ ãé
åããåãé¤ãã (å¿
è¦ã«å¿ãã¦) ç½®ãæãã¾ããé
åããåé¤ãããé
ç®ãè¿ãã¾ãã
const myArray = ["1", "2", "3", "4", "5"];
myArray.splice(1, 3, "a", "b", "c", "d");
// myArray 㯠["1", "a", "b", "c", "d", "5"] ã«ãªã
// ãã®ã³ã¼ãã¯ãã¤ã³ããã¯ã¹ 1 ã®è¦ç´ ï¼"2" ã®ãã£ãå ´æï¼ããå§ã¾ãã
// 3 ã¤ã®è¦ç´ ãåé¤ãã¦ãããã«å¾ç¶ã®ãã¹ã¦ã®è¦ç´ ãæ¿å
¥ãã¾ãã
reverse()
ã¯ãé
åã®ä¸ã®è¦ç´ ããã®å ´ã§å転ããã¾ããé
åã®æåã®è¦ç´ ãæå¾ã«ãæå¾ã®è¦ç´ ãæåã«ãªãã¾ããé
åã¸ã®åç
§ãè¿ãã¾ãã
const myArray = ["1", "2", "3"];
myArray.reverse();
// é
åè¦ç´ ãå
¥ãæ¿ããããmyArray = ["3", "2", "1"] ã«ãªã
flat()
ã¡ã½ããã¯ããã¹ã¦ã®ãµãé
åè¦ç´ ãæå®ããæ·±ãã¾ã§å帰çã«é£çµãããæ°ããé
åãè¿ãã¾ãã
let myArray = [1, 2, [3, 4]];
myArray = myArray.flat();
// myArray 㯠[1, 2, 3, 4] ã«ãªãã¾ãããµãé
å [3, 4] ã¯å±éããã¾ãã
sort()
ã¯é
åã®è¦ç´ ããã®å ´ã§ã½ã¼ããããã®é
åã®åç
§ãè¿ãã¾ãã
const myArray = ["Wind", "Rain", "Fire"];
myArray.sort();
// é
åãã½ã¼ããããmyArray = ["Fire", "Rain", "Wind"] ã«ãªã
sort()
ã¯ãé
åè¦ç´ ãã©ã®ããã«æ¯è¼ããããæ±ºå®ããã³ã¼ã«ããã¯é¢æ°ãåããã¨ãã§ãã¾ããã³ã¼ã«ããã¯é¢æ°ã¯ãé
åå
ã®2ã¤ã®å¤ã弿°ã¨ãã¦å¼ã³åºããã¾ãããã®é¢æ°ã¯ãããã 2 ã¤ã®å¤ãæ¯è¼ãã2 ã¤ã®å¤ã®é åºãç¤ºãæ£ã®å¤ãè² ã®å¤ãã¾ã㯠0 ãè¿ãã¾ããä¾ãã°ã以ä¸ã¯æååã®æå¾ã®æåã§é
åãã½ã¼ããããã®ã§ãã
const sortFn = (a, b) => {
if (a[a.length - 1] < b[b.length - 1]) {
return -1; // è² ã®æ° => a < bãa 㯠b ã®åã«æ¥ã
} else if (a[a.length - 1] > b[b.length - 1]) {
return 1; // æ£ã®æ° => a > bãa 㯠b ã®å¾ã«æ¥ã
}
return 0; // ã¼ã => a = bãa 㨠b ã¯å
ã®é åºãç¶æãã
};
myArray.sort(sortFn);
// é
åãã½ã¼ãããã myArray = ["Wind","Fire","Rain"] ã¨ãªã
a
ã b
ããå°ããå ´åã-1
ï¼ã¾ãã¯ä»»æã®è² ã®æ°ï¼ãè¿ãã¾ããa
ã b
ãã大ããå ´åã1
ï¼ã¾ãã¯ä»»æã®æ£ã®æ°ï¼ãè¿ãã¾ããa
㨠b
ãçå¤ã¨è¦ãªãããå ´åã 0
ãè¿ãã¾ããindexOf()
ã¯é
åãã searchElement
ãæ¤ç´¢ãã¾ããããã¦ãæåã«ä¸è´ããä½ç½®ã®ã¤ã³ããã¯ã¹ãè¿ãã¾ãã
const a = ["a", "b", "a", "b", "a"];
console.log(a.indexOf("b")); // 1 ããã°ã«åºåããã
// æåããæå¾ã¸ã®æ¤ç´¢ã試ãã¦ã¿ã
console.log(a.indexOf("b", 2)); // 3
console.log(a.indexOf("z")); // -1ã'z' ãè¦ã¤ãããªãã£ãããã
lastIndexOf()
㯠indexOf
ã®ããã«åä½ãã¾ãããæå¾ã®è¦ç´ ããéå§ãã¦åæ¹ã«æ¤ç´¢ãã¾ãã
const a = ["a", "b", "c", "d", "a", "b"];
console.log(a.lastIndexOf("b")); // 5
// æå¾ããæåã¸ã®æ¤ç´¢ã試ãã¦ã¿ã
console.log(a.lastIndexOf("b", 4)); // 1
console.log(a.lastIndexOf("z")); // -1
forEach()
ã¯é
åã®ãã¹ã¦ã®é
ç®ã«ã³ã¼ã«ããã¯é¢æ° callback
ãå®è¡ããundefined
ãè¿ãã¾ãã
const a = ["a", "b", "c"];
a.forEach((element) => {
console.log(element);
});
// åºå:
// a
// b
// c
ã³ã¼ã«ããã¯ãåãåã forEach
ã¡ã½ããï¼ããã³ä¸è¨ã®ãã®ï¼ã¯ãé
åå
¨ä½ãä½ããã®æ¹æ³ã§å復å¦çãããããå復å¦çã¡ã½ãã ã¨ãã¦ç¥ããã¦ãã¾ããããããã®ã¡ã½ããã¯ããªãã·ã§ã³ã§ thisArg
ã¨ãã 2 ã¤ç®ã®å¼æ°ãåãã¾ããæå®ãããå ´åãthisArg
ã¯ã³ã¼ã«ããã¯é¢æ°ã®æ¬ä½ã®ä¸ã§ this
ãã¼ã¯ã¼ãã®å¤ã¨ãªãã¾ããæå®ãããªãã£ãå ´åã颿°ãæç¤ºçãªãªãã¸ã§ã¯ãã³ã³ããã¹ãã®å¤ã§å¼ã³åºãããä»ã®ã±ã¼ã¹ã¨åæ§ã«ãthis
ã¯ã°ãã¼ãã«ãªãã¸ã§ã¯ãï¼window
ãglobalThis
ãªã©ï¼ãåç
§ãã¦ãã¾ããããã¯é¢æ°ã峿 ¼ã¢ã¼ãã§ãªãå ´åã§ããã颿°ã峿 ¼ã¢ã¼ãã®å ´å㯠undefined
ã¨ãªãã¾ãã
ã¡ã¢: ä¸ã§ç´¹ä»ãã sort()
ã¡ã½ããã¯å復å¦çã¡ã½ããã§ã¯ããã¾ããããã®ã³ã¼ã«ããã¯é¢æ°ã¯æ¯è¼ã®ããã«ã®ã¿ä½¿ç¨ãããè¦ç´ ã®é åºã«åºã¥ãç¹å®ã®é åºã§å¼ã³åºããããã¨ã¯ãªãããã§ããsort()
㯠thisArg
ã¨ãã弿°ãåãå
¥ãã¾ããã
map()
ã¯ãã¹ã¦ã®é
åã¢ã¤ãã ãã¨ã«ã³ã¼ã«ããã¯é¢æ° callback
ãå®è¡ããè¿å¤ãããªãæ°ããé
åãè¿ãã¾ãã
const a1 = ["a", "b", "c"];
const a2 = a1.map((item) => item.toUpperCase());
console.log(a2); // ['A', 'B', 'C']
flatMap()
ã¡ã½ããã¯ãmap()
ã«ç¶ãã¦æ·±ã 1 ã® flat()
ãå®è¡ãã¾ãã
const a1 = ["a", "b", "c"];
const a2 = a1.flatMap((item) => [item.toUpperCase(), item.toLowerCase()]);
console.log(a2); // ['A', 'a', 'B', 'b', 'C', 'c']
filter()
ã¯ã³ã¼ã«ããã¯é¢æ° callback
ã true
ãè¿ãé
ç®ãããªãæ°ããé
åãè¿ãã¾ãã
const a1 = ["a", 10, "b", 20, "c", 30];
const a2 = a1.filter((item) => typeof item === "number");
console.log(a2); // [10, 20, 30]
find()
ã¡ã½ããã¯ã callback
ã true
ãè¿ããæåã®é
ç®ãè¿ãã¾ãã
const a1 = ["a", 10, "b", 20, "c", 30];
const i = a1.find((item) => typeof item === "number");
console.log(i); // 10
findLast()
ã¡ã½ããã¯ãcallback
ã true
ãè¿ããæå¾ã®é
ç®ãè¿ãã¾ãã
const a1 = ["a", 10, "b", 20, "c", 30];
const i = a1.findLast((item) => typeof item === "number");
console.log(i); // 30
findIndex()
ã¡ã½ããã¯ãcallback
ã true
ãè¿ããæåã®é
ç®ã®ã¤ã³ããã¯ã¹ãè¿ãã¾ãã
const a1 = ["a", 10, "b", 20, "c", 30];
const i = a1.findIndex((item) => typeof item === "number");
console.log(i); // 1
findLastIndex()
ã¡ã½ããã¯ãcallback
ã true
ãè¿ããæå¾ã®é
ç®ã®ã¤ã³ããã¯ã¹ãè¿ãã¾ãã
const a1 = ["a", 10, "b", 20, "c", 30];
const i = a1.findLastIndex((item) => typeof item === "number");
console.log(i); // 5
every()
ã¯ã³ã¼ã«ããã¯é¢æ° callback
ãé
åå
ã®ãã¹ã¦ã®ã¢ã¤ãã ã§ true
ãè¿ãå ´åã« true
ãè¿ãã¾ãã
function isNumber(value) {
return typeof value === "number";
}
const a1 = [1, 2, 3];
console.log(a1.every(isNumber)); // true
const a2 = [1, "2", 3];
console.log(a2.every(isNumber)); // false
some()
ã¯ã³ã¼ã«ããã¯é¢æ° callback
ãé
åå
ã®å°ãªãã¨ãä¸ã¤ã®ã¢ã¤ãã ã§ true
ãè¿ãå ´åã« true
ãè¿ãã¾ãã
function isNumber(value) {
return typeof value === "number";
}
const a1 = [1, 2, 3];
console.log(a1.some(isNumber)); // true
const a2 = [1, "2", 3];
console.log(a2.some(isNumber)); // true
const a3 = ["1", "2", "3"];
console.log(a3.some(isNumber)); // false
reduce()
ã¯ãé
åã®åå¤ã«å¯¾ã㦠callback(accumulator, currentValue, currentIndex, array)
ãé©ç¨ããé
ç®ã®ãªã¹ãã 1 ã¤ã®å¤ã«æ¸ãããã¨ãç®çã¨ãã¦ãã¾ãã reduce
颿°ã¯ã callback
颿°ã«ãã£ã¦è¿ãããæçµçãªå¤ãè¿ãã¾ãã
initialValue
ãæå®ãããå ´åã¯ãinitialValue
ã第 1 弿°ã®å¤ã¨ãã¦ãé
åã®æåã®é
ç®ã®å¤ã第 2 弿°ã®å¤ã¨ã㦠callback
ãå¼ã³åºããã¾ãã
initialValue
ãæå®ããã¦ããªãå ´åãcallback
ã®æåã® 2 ã¤ã®å¼æ°ã®å¤ã¯ãé
åã®æå㨠2 çªç®ã®è¦ç´ ã«ãªãã¾ããå¾ç¶ã®ãã¹ã¦ã®å¼ã³åºãã§ãæåã®å¼æ°ã®å¤ã¯åã®å¼ã³åºãã§ callback
ãè¿ããå¤ã«ãªãã2 çªç®ã®å¼æ°ã®å¤ã¯é
åã®æ¬¡ã®å¤ã«ãªãã¾ãã
callback
ãå¦ç対象ã®é
ç®ã®ã¤ã³ããã¯ã¹ã«ã¢ã¯ã»ã¹ããå¿
è¦ãããå ´åã¯ãé
åå
¨ä½ã«ã¢ã¯ã»ã¹ããã¨ãã«ããªãã·ã§ã³ã®å¼æ°ã¨ãã¦å©ç¨ã§ãã¾ãã
const a = [10, 20, 30];
const total = a.reduce(
(accumulator, currentValue) => accumulator + currentValue,
0,
);
console.log(total); // 60
reduceRight()
㯠reduce()
ã®ããã«æ©è½ãã¾ãããããæå¾ã®è¦ç´ ããé©ç¨ãéå§ãã¾ãã
reduce
㨠reduceRight
ãããæå³ã§ã¯é
åã®å復å¦çã¡ã½ããã§ããè¦ç´ åãåä¸ã®å¤ã«éå
ããããã«ãå帰çã« 2 ã¤ã®å¤ãçµã¿åãããã¢ã«ã´ãªãºã ã«ãããã®ã¡ã½ããã使ç¨ãã¦ãã ããã
é åã¨ä»ã®ãã¼ã¿æ§é ã®éã§ç¸äºã«å¤æãããã¨ãã§ãã¾ãã
é åã®è¦ç´ ã®ã°ã«ã¼ãåObject.groupBy()
ã¡ã½ããã使ç¨ãã¦ãç¾å¨ã®è¦ç´ ã®ã°ã«ã¼ãã示ãæååãè¿ããã¹ã颿°ã使ç¨ãã¦ãé
åã®è¦ç´ ãã°ã«ã¼ãåãããã¨ãã§ãã¾ãã
ãã¡ãã¯ååã®é
åã§ã name
㨠type
ããã "food" ãªãã¸ã§ã¯ããããã¾ãã
const inventory = [
{ name: "asparagus", type: "vegetables" },
{ name: "bananas", type: "fruit" },
{ name: "goat", type: "meat" },
{ name: "cherries", type: "fruit" },
{ name: "fish", type: "meat" },
];
Object.groupBy()
ã使ç¨ããã«ããã£ã¦ã¯ãç¾å¨ã®è¦ç´ ã§å¼ã³åºãããã³ã¼ã«ããã¯é¢æ°ãæå®ãã¾ãããªãã·ã§ã³ã§ç¾å¨ã®ã¤ã³ããã¯ã¹ã¨é
åãæå®ãããã¨ãã§ããè¦ç´ ã®ã°ã«ã¼ãã示ãæååãè¿ãã¾ãã
次ã®ã³ã¼ãã§ã¯ãã¢ãã¼é¢æ°ã使ç¨ãã¦é åã®ããããã®è¦ç´ ã®åãè¿ãã¾ãï¼ããã¯ã颿°ã®å¼æ°ã«ãªãã¸ã§ã¯ãã®æ§é åè§£æ§æã使ç¨ãã¦ã渡ããããªãã¸ã§ã¯ãããåè¦ç´ ãå±éãã¾ãï¼ãçµæã¯ãã³ã¼ã«ããã¯é¢æ°ã«ãã£ã¦è¿ãããä¸æã®æååãååã¨ããããããã£ãæã¤ãªãã¸ã§ã¯ãã¨ãªãã¾ããããããã®ããããã£ã«ã¯ãã°ã«ã¼ãå ã®è¦ç´ ãå«ãé åãå²ãå½ã¦ããã¾ãã
const result = Object.groupBy(inventory, ({ type }) => type);
console.log(result);
// Logs
// {
// vegetables: [{ name: 'asparagus', type: 'vegetables' }],
// fruit: [
// { name: 'bananas', type: 'fruit' },
// { name: 'cherries', type: 'fruit' }
// ],
// meat: [
// { name: 'goat', type: 'meat' },
// { name: 'fish', type: 'meat' }
// ]
// }
è¿ããããªãã¸ã§ã¯ãã¯å ã®é åã¨åãè¦ç´ ãåç §ãã¦ãããã¨ã«æ³¨æãã¦ãã ããï¼ãã£ã¼ãã³ãã¼ã§ã¯ããã¾ããï¼ãããã®è¦ç´ ã®å 鍿§é ã夿´ããã¨ãå ã®é åã¨è¿ããããªãã¸ã§ã¯ãã®ä¸¡æ¹ã«åæ ããã¾ãã
æååããã¼ã¨ãã¦ä½¿ç¨ã§ããªãå ´åãä¾ãã°ã°ã«ã¼ãåããæ
å ±ã夿´ãããå¯è½æ§ã®ãããªãã¸ã§ã¯ãã«é¢é£ä»ããããå ´åã代ããã« Map.groupBy()
ã使ç¨ãããã¨ãã§ãã¾ããããã¯ãé
åã®è¦ç´ ãä»»æã®å¤ï¼ãªãã¸ã§ã¯ã ã¾ãã¯ããªããã£ãï¼ããã¼ã¨ãã¦ä½¿ç¨ãããã¨ãã§ãã Map
ã«ã°ã«ã¼ãåããã¨ããç¹ãé¤ãã¦ã Object.groupBy()
ã¨ããä¼¼ã¦ãã¾ãã
é
åã¯ã空ã®ã¹ãããããæ ¼ç´ãããã¨ãã§ãã¾ããããã¯ãå¤ã undefined
ã§æºããããã¹ãããã¨ã¯ç°ãªãã¾ãã空ã®ã¹ãããã¯ã以ä¸ã®ããããã®æ¹æ³ã§ä½æãããã¨ãã§ãã¾ãã
// Array ã³ã³ã¹ãã©ã¯ã¿ã¼:
const a = Array(5); // [ <5 ã¤ã®ç©ºã®é
ç®> ]
// é
åãªãã©ã«ã®é£ç¶ããã«ã³ã:
const b = [1, 2, , , 5]; // [ 1, 2, <2 ã¤ã®ç©ºã®é
ç®>, 5 ]
// array.length ãã大ããã¤ã³ããã¯ã¹ãæã¤ã¹ããããç´æ¥è¨å®:
const c = [1, 2];
c[4] = 5; // [ 1, 2, <2 ã¤ã®ç©ºã®é
ç®>, 5 ]
// .length ãç´æ¥è¨å®ãã¦é
åãå»¶é·ãã:
const d = [1, 2];
d.length = 5; // [ 1, 2, <3 ã¤ã®ç©ºã®é
ç®> ]
// è¦ç´ ã®åé¤:
const e = [1, 2, 3, 4, 5];
delete e[2]; // [ 1, 2, <1 ã¤ã®ç©ºã®é
ç®>, 4, 5 ]
ä¸é¨ã®æä½ã§ã¯ã空ã®ã¹ãããã« undefined
ãå
¥ã£ãããã«åä½ãããã¨ãããã¾ãã
const arr = [1, 2, , , 5]; // çé
åãçæ
// ã¤ã³ããã¯ã¹ã«ããã¢ã¯ã»ã¹
console.log(arr[2]); // undefined
// For...of
for (const i of arr) {
console.log(i);
}
// åºå: 1 2 undefined undefined 5
// æ§é åè§£
const another = [...arr]; // "another" 㯠[ 1, 2, undefined, undefined, 5 ]
ããããä»ã®å ´åï¼ç¹ã«é åå復å¦çï¼ã«ã¯ã空ã®ã¹ãããã¯ã¹ãããããã¾ãã
const mapped = arr.map((i) => i + 1); // [ 2, 3, <2 ã¤ã®ç©ºã®é
ç®>, 6 ]
arr.forEach((i) => console.log(i)); // 1 2 5
const filtered = arr.filter(() => true); // [ 1, 2, 5 ]
const hasFalsy = arr.some((k) => !k); // false
// Property enumeration
const keys = Object.keys(arr); // [ '0', '1', '4' ]
for (const key in arr) {
console.log(key);
}
// åºå: '0' '1' '4'
// ãªãã¸ã§ã¯ãã¸ã®å±éã¯ãé
åã®ã¤ãã¬ã¼ã¿ã¼ã§ã¯ãªããããããã£ã®åæã使ç¨ããã
const objectSpread = { ...arr }; // { '0': 1, '1': 2, '4': 5 }
é
åã¡ã½ãããçé
åã§ã©ã®ããã«åä½ãããã®å®å
¨ãªãªã¹ãã¯ãArray
ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ãåç
§ãã¦ãã ããã
é åããã¹ããããã¨ãã§ãã¾ããã¤ã¾ãé åè¦ç´ ã¨ãã¦é åãå«ãããã¨ãã§ãããã¨ãæå³ãã¾ããJavaScript ã®é åã®ç¹å¾´ãæ´»ããã¦ã夿¬¡å é åãçæã§ãã¾ãã
以ä¸ã®ã³ã¼ãã§ã¯ 2 次å é åã使ãã¦ãã¾ãã
const a = new Array(4);
for (let i = 0; i < 4; i++) {
a[i] = new Array(4);
for (let j = 0; j < 4; j++) {
a[i][j] = `[${i}, ${j}]`;
}
}
ãã®ä¾ã§ã¯ã次ã®ãã¼ãã«è¡ãæã¤é åã使ãã¦ãã¾ãã
Row 0: [0, 0] [0, 1] [0, 2] [0, 3] Row 1: [1, 0] [1, 1] [1, 2] [1, 3] Row 2: [2, 0] [2, 1] [2, 2] [2, 3] Row 3: [3, 0] [3, 1] [3, 2] [3, 3]é åã使ç¨ãã¦ä»ã®ããããã£ãæ ¼ç´ãã
é åã¯ããªãã¸ã§ã¯ãã®ããã«é¢é£ããæ å ±ãæ ¼ç´ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
const arr = [1, 2, 3];
arr.property = "value";
console.log(arr.property); // "value"
ä¾ãã°ãé
åãæ£è¦è¡¨ç¾ã¨æååã®ä¸è´ããçµæã§ããå ´åãé
åã¯ä¸è´ããæ
å ±ãæä¾ããããããã£ãè¦ç´ ãè¿ãã¾ããRegExp.prototype.exec()
, String.prototype. match()
, String.prototype.split()
ã¯é
åãè¿ãã¾ããæ£è¦è¡¨ç¾ã§ã®é
åã®ä½¿ç¨ã«é¢ããæ
å ±ã«ã¤ãã¦ã¯ãæ£è¦è¡¨ç¾ãåç
§ãã¦ãã ããã
document.getElementsByTagName()
ã«ãã£ã¦è¿ããã NodeList
ãã颿°æ¬ä½å
ã§å©ç¨ã§ãã arguments
ãªãã¸ã§ã¯ãã®ããã«ã表é¢ä¸ã¯é
åã®ããã«ãµãã¾ã JavaScript ãªãã¸ã§ã¯ããããã¾ããããããã¯ã¡ã½ãããã¹ã¦ãå
±æãã¦ã¯ãã¾ãããä¾ãã°ã arguments
ãªãã¸ã§ã¯ãã«ã¯ length
屿§ãããã¾ããã forEach()
ã¡ã½ããã¯å®è£
ããã¦ãã¾ããã
é å風ãªãã¸ã§ã¯ãã«å¯¾ãã¦é åã¡ã½ãããç´æ¥å¼ã³åºããã¨ã¯ã§ãã¾ããã
function printArguments() {
arguments.forEach((item) => {
console.log(item);
}); // TypeError: arguments.forEach is not a function
}
ãããè¡ãã«ã¯ã Function.prototype.call()
ã使ã£ã¦éæ¥çã«å¼ã³åºãã¾ãã
function printArguments() {
Array.prototype.forEach.call(arguments, (item) => {
console.log(item);
});
}
é åã®ãããã¿ã¤ãã¡ã½ããã¯ãé åã¨åæ§ã®æ¹æ³ã§æåã«é次ã¢ã¯ã»ã¹ã§ãããããæååã«ã使ç¨ã§ãã¾ãã
Array.prototype.forEach.call("a string", (chr) => {
console.log(chr);
});
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4