ãã®ã¢ã¸ã¥ã¼ã«ã®æå¾ã«ãé åã«ã¤ãã¦è¦ã¦ããã¾ããããé å㯠1 ã¤ã®å¤æ°åã§ãªã¹ãå½¢å¼ã®ãã¼ã¿ãä¿æããã®ã«å¥½é½åã§ããããã§ã¯ãã©ã便å©ãªã®ããã©ã®ããã«ä½ãã®ããããã¦é åã®é ç®ã追å ãããåé¤ãããåå¾ãããããæ¹æ³ã«ã¤ãã¦å¦ã³ã¾ãã
åæç¥è: HTMLããã³CSS ã®åºç¤ãçè§£ãã¦ãããã¨ã å¦ç¿ææ:[a, b, c]
ããã³ã¢ã¯ã»ãµã¼æ§æãmyArray[x]
ãlength
ãpush()
ãpop()
ãjoin()
ãsplit()
ãªã©ã®ä¸è¬çãªããããã£ãã¡ã½ããã使ç¨ããé
åæä½ãforEach()
ãmap()
ãfilter()
ãªã©ã®é«åº¦ãªé
åã¡ã½ãããé åã¯ããã¦ãããªã¹ãã®ãããªãªãã¸ã§ã¯ãã§ãããã¨èª¬æãããåä¸ã®ãªãã¸ã§ã¯ãå ã«è¤æ°ã®å¤ããªã¹ãã¨ãã¦æã£ã¦ãã¾ããé åãªãã¸ã§ã¯ãã¯å¤æ°ã«æ ¼ç´ããããã®ä»ã®åã¨åæ§ã«æ±ããã¾ããé åãªãã¸ã§ã¯ãã¯å¤æ°ã«æ ¼ç´ãããã¨ãã§ããä»ã®åã®å¤ã¨ã»ã¨ãã©åãããã«æ±ããã¨ãã§ãã¾ããç°ãªãç¹ã¯ããªã¹ãå ã®ããããã®å¤ã«åå¥ã«ã¢ã¯ã»ã¹ãããã¨ãã§ããã«ã¼ããåãã¦ãã¹ã¦ã®å¤ã«åãå¦çãè¡ããªã©ããªã¹ãã使ã£ã¦é常ã«ä¾¿å©ã§å¹ççãªå¦çãè¡ããã¨ãã§ããç¹ã§ããååã¨ãã®ä¾¡æ ¼ã®ä¸è¦§ãé åã«ä¿æãããã®å¤ãã«ã¼ããã¦åè¨é¡ãè¨ç®ãã¤ã¤è«æ±æ¸ã«ããããã®ä¾¡æ ¼ã表示ãã¦ä¸çªä¸ã«åè¨é¡ã表示ãããã¨ãã§ããã§ãããã
ããé åããªãã£ãã¨ããããå¥ã ã®å¤æ°ã«ããããã®å¤ãæ ¼ç´ããªããã°ãªãããå夿°ã表示ããã®ã¨è¨ç®ããã®ã§å¥ã ã«å¼ã³åºããªããã°ãªããªãã£ãã§ãããããããªãã¨ãæ¸ãåºãã®ãã¨ã¦ãé·ããéå¹ççã§ã¨ã©ã¼ãèµ·ãããããããã°ã©ã ã¨ãªãã§ããããä¾ãã°ã10 åã®é ç®ãè«æ±æ¸ã«åºãã ãã§ãææªã§ãããããã 100 åã 1000 åã ã£ããã©ãã§ãããããã®è¨äºã®æå¾ã«å®ä¾ã¨ãã¦ãã£ã¦ã¿ã¾ãããã
ååã¾ã§ã®è¨äºã¨åæ§ã«ãJavaScript ã³ã³ã½ã¼ã«ã«é åã®åºç¤ã¨ãªãã³ã¼ãä¾ããã©ã¦ã¶ã¼ã®éçºè ã³ã³ã½ã¼ã«ã«å ¥åããªããå¦ã³ã¾ãããã
é åã®ä½æé åãä½ãã«ã¯ãè§æ¬å¼§ã®ä¸ã«ã«ã³ãã§åºåã£ããªã¹ãã®å½¢å¼ã§é ç®ã並ã¹ã¾ãã
è²·ãç©ãªã¹ããé åã«ä¿æãããã¨ããæ¬¡ã®ããã«ãã¾ããä¸ã®ã³ã¼ããã³ã³ã½ã¼ã«ã«å ¥åãã¦ã¿ã¾ãããã
const shopping = ["ãã³", "çä¹³", "ãã¼ãº", "ãã ", "麺"];
console.log(shopping);
ä¸ã®ä¾ã§ã¯ãåé ç®ã¯æååã§ãããé åã®ä¸ã«ã¯æååãæ°å¤ããªãã¸ã§ã¯ããããã«ã¯ä»ã®é åãªã©ããã¾ãã¾ãªãã¼ã¿åãæ ¼ç´ãããã¨ãã§ãã¾ããä¸ã¤ã®é åã®ä¸ã§ãã¼ã¿åãæ··å¨ããããã¨ãã§ãã¾ããããé åã«ã¯æ°å¤ã ããæ ¼ç´ããå¥ã®é åã«ã¯æååã ããæ ¼ç´ããã¨ãã£ãå¶éãããå¿ è¦ã¯ããã¾ãããä¾ãæãã¾ãã
const sequence = [1, 1, 2, 3, 5, 8, 13];
const random = ["tree", 795, [0, 1, 2]];
ããã¤ãé åãä½ã£ã¦ã¿ã¾ããããããããå ã«é²ã¿ã¾ãã
æååã®é·ãï¼æåæ°ï¼ã調ã¹ãã®ã¨ã¾ã£ããåãæ¹æ³ã§ãé
åã®é·ãï¼ãã®ä¸ã«ããã¤ã®é
ç®ããããï¼ã調ã¹ããã¨ãã§ãã¾ãã length
ããããã£ã使ç¨ãã¾ããæ¬¡ã®ããã«ãã¦ã¿ã¦ãã ããã
const shopping = ["ãã³", "çä¹³", "ãã¼ãº", "ãã ", "麺"];
console.log(shopping.length); // 5
é
åã®é
ç®ãåå¾ã夿´ãã
é
åã®é
ç®ã«ã¯ 0 ããå§ã¾ãçªå·ãæ¯ããã¾ãããã®çªå·ã¯é
ç®ã®ã¤ã³ããã¯ã¹ï¼æ·»åï¼ã¨å¼ã°ãã¾ããã¤ã¾ããæåã®é
ç®ã¯ã¤ã³ããã¯ã¹ 0ã2 çªç®ã®é
ç®ã¯ã¤ã³ããã¯ã¹ 1ãã®ããã«ãªãã¾ããé
åã®åé
ç®ã¯ãè§æ¬å¼§ ([]
) ã使ç¨ãã¦ãã®é
ç®ã®ã¤ã³ããã¯ã¹ãä¸ãããã¨ã§ãæååä¸ã®æåãåå¾ããã¨ãã®ããã«åå¾ãããã¨ãã§ãã¾ãã
次ã®ã³ã¼ããã³ã³ã½ã¼ã«ã«å ¥åãã¦ãã ããã
const shopping = ["ãã³", "çä¹³", "ãã¼ãº", "ãã ", "麺"];
console.log(shopping[0]);
// "ãã³"ã¨ããå¤ãæ»ãã¾ã
ã¾ããé åã®ããé ç®ã«æ°ããå¤ãä¸ãã¦ããã®é ç®ã夿´ãããã¨ãã§ãã¾ãã試ãã¦ã¿ã¦ãã ããã
const shopping = ["ãã³", "çä¹³", "ãã¼ãº", "ãã ", "麺"];
shopping[0] = "ã¿ãã¼ã";
shopping;
// è²·ãç©ãªã¹ã㯠[ "ã¿ãã¼ã", "çä¹³", "ãã¼ãº", "ãã ", "麺" ] ã«å¤æ´ããã¦ãã¾ãã
ã¡ã¢: åã«ãè¨ãã¾ããããéè¦ãªãã¨ãªã®ã§ããä¸åº¦è¨ãã¾ããã³ã³ãã¥ã¼ã¿ã¼ã¯ 0 ããæ°ãæ°ãã¾ãã
ãªããé
åã®ä¸ã®é
åã夿¬¡å
é
åã¨å¼ã³ã¾ãã 2 ã¤ã®è§æ¬å¼§ãé£çµãããã¨ã§ãããèªèº«ãå¥ã®é
åã®ä¸ã«ããé
åã®ä¸ã®é
ç®ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ããä¾ãã°ã random
é
åï¼åã®ç¯ãåç
§ï¼ã® 3 çªç®ã®é
ç®ã§ããé
åã®ä¸ã® 1 ã¤ã®é
ç®ã«ã¢ã¯ã»ã¹ããã«ã¯ã次ã®ããã«ãã¾ãã
const random = ["tree", 795, [0, 1, 2]];
random[2][2];
次ã¸è¡ãåã«ãé åã®ä¾ãããã¤ã夿´ãã¦ã¿ã¦ãã ãããéãã§ã¿ã¦ãä½ãåãã¦ä½ãããã§ãªãããè¦ã¦ãã ãã
ã¢ã¤ãã ã®ã¤ã³ããã¯ã¹ãåãããªãå ´åã¯ã indexOf()
ã¡ã½ããã使ç¨ãã¾ãã indexOf()
ã¡ã½ããã¯ã¢ã¤ãã ã弿°ã¨ãã¦åããã¢ã¤ãã ã®ã¤ã³ããã¯ã¹ãè¿ãããã¢ã¤ãã ãé
åã«ãªãå ´å㯠-1
ãè¿ãã¾ãã
const birds = ["ãªã¦ã ", "é·¹", "ãã¯ãã¦"];
console.log(birds.indexOf("ãã¯ãã¦")); // 2
console.log(birds.indexOf("ã¦ãµã®")); // -1
ã¢ã¤ãã ã®è¿½å
é
åã®æ«å°¾ã« 1 ã¤ä»¥ä¸ã®é
ç®ã追å ããã«ã¯ã push()
ã使ç¨ãã¾ãããªããé
åã®æ«å°¾ã«è¿½å ãããé
ç®ã 1 ã¤ä»¥ä¸å«ããå¿
è¦ãããã¾ãã
const cities = ["æ±äº¬", "大éª"];
cities.push("åºå³¶");
console.log(cities); // [ "æ±äº¬", "大éª", "åºå³¶" ]
cities.push("ç¦å²¡", "鹿å
å³¶");
console.log(cities); // [ "æ±äº¬", "大éª", "åºå³¶", "ç¦å²¡", "鹿å
å³¶" ]
ã¡ã½ããå¼ã³åºããå®äºããã¨ãé åã®æ°ããé·ããè¿ããã¾ããæ°ããé åã®é·ãã夿°ã«æ ¼ç´ãããå ´åã¯ã次ã®ããã«ãã¾ãã
const cities = ["æ±äº¬", "大éª"];
const newLength = cities.push("ç¥æ¸");
console.log(cities); // [ "æ±äº¬", "大éª", "ç¥æ¸" ]
console.log(newLength); // 3
é
ç®ãé
åã®å
é ã«è¿½å ããã«ã¯ã unshift()
ã使ç¨ãã¦ãã ããã
const cities = ["æ±äº¬", "大éª"];
cities.unshift("æå¹");
console.log(cities); // [ "æå¹", "æ±äº¬", "大éª" ]
ã¢ã¤ãã ã®åé¤
é
åããæå¾ã®é
ç®ãåé¤ããã«ã¯ã pop()
ã使ç¨ãã¦ãã ããã
const cities = ["æ±äº¬", "大éª"];
cities.pop();
console.log(cities); // [ "æ±äº¬" ]
pop()
ã¡ã½ããã¯åé¤ãããé
ç®ãè¿ãã¾ãããã®é
ç®ãæ°ãã夿°ã«ä¿åããã«ã¯ã次ã®ããã«ãã¾ãï¼
const cities = ["æ±äº¬", "大éª"];
const removedCity = cities.pop();
console.log(removedCity); // "大éª"
é
åããæåã®é
ç®ãåé¤ããã«ã¯ã shift()
ã使ç¨ãã¦ãã ããã
const cities = ["æ±äº¬", "大éª"];
cities.shift();
console.log(cities); // [ "大éª" ]
é
ç®ã®ã¤ã³ããã¯ã¹ãããã£ã¦ããã°ã splice()
ã使ã£ã¦é
åããåãé¤ããã¨ãã§ãã¾ãã
const cities = ["æ±äº¬", "大éª", "ä»å°", "æå¹"];
const index = cities.indexOf("大éª");
if (index !== -1) {
cities.splice(index, 1);
}
console.log(cities); // [ "æ±äº¬", "ä»å°", "æå¹" ]
ãã® splice()
ã®å¼ã³åºãã§ã¯ãæåã®å¼æ°ã§é
ç®ã®åé¤ãå§ããå ´æãæå®ãã 2 çªç®ã®å¼æ°ã§ããã¤ã®é
ç®ãåé¤ããããæå®ãã¾ããã¤ã¾ããè¤æ°ã®é
ç®ãåé¤ãããã¨ãã§ãã¾ãã
const cities = ["æ±äº¬", "大éª", "ä»å°", "æå¹"];
const index = cities.indexOf("大éª");
if (index !== -1) {
cities.splice(index, 2);
}
console.log(cities); // [ "æ±äº¬", "æå¹" ]
ããããã®é
ç®ã¸ã®ã¢ã¯ã»ã¹
é
åã®ãã¹ã¦ã®é
ç®ã«ã¢ã¯ã»ã¹ããããã¨ãããããã§ãããããã®å ´åã for...of
æã使ç¨ãã¾ãã
const birds = ["Parrot", "Falcon", "Owl"];
for (const bird of birds) {
console.log(bird);
}
é
åã®åé
ç®ã«å¯¾ãã¦åããã¨ãè¡ãã夿´ãããé
ç®ãå«ãé
åãæ®ãããå ´åãããã¾ããããã«ã¯ map()
ã使ãã¾ãã以ä¸ã®ã³ã¼ãã¯ãæ°å¤ã®é
åãåãåããããããã®æ°å¤ã 2 åã«ãã¾ãã
function double(number) {
return number * 2;
}
const numbers = [5, 2, 7, 6];
const doubled = numbers.map(double);
console.log(doubled); // [ 10, 4, 14, 12 ]
map()
ã«é¢æ°ã渡ãã¨ã map()
ã¯é
åã®åé
ç®ã«å¯¾ãã¦ãã®é¢æ°ã 1 åãã¤å¼ã³åºãã¾ããããã¦ãããããã®é¢æ°å¼ã³åºãã®è¿å¤ãæ°ããé
åã«è¿½å ããæå¾ã«æ°ããé
åãè¿ãã¾ãã
å
ã®é
åã®ä¸ã§ãã¹ãã«é©åããé
ç®ã®ã¿ãå«ãæ°ããé
åã使ãããå ´åãããã¾ãããã®å ´å㯠filter()
ã使ãã¾ãã以ä¸ã®ã³ã¼ãã¯ãæååã®é
åãåãåãã 2 æåãè¶
ãã¦ããï¼ 3 æå以ä¸ã®ï¼æååã ããå«ãé
åãè¿ãã¾ãã
function isLong(city) {
return city.length > 2;
}
const cities = ["æ±äº¬", "åå¤å±", "大éª", "鹿å
å³¶"];
const longer = cities.filter(isLong);
console.log(longer); // [ "åå¤å±", "鹿å
å³¶" ]
map()
ã¨åãããã«ã filter()
ã¡ã½ããã«é¢æ°ãä¸ãã¦ã filter()
ã¯é
åã®åé
ç®ã«å¯¾ãã¦ãã®é¢æ°ãå¼ã³åºãã¾ãã颿°ã true
ãè¿ããå ´åããã®é
ç®ã¯æ°ããé
åã«è¿½å ããã¾ããæå¾ã«ããã®é¢æ°ã¯æ°ããé
åãè¿ãã¾ãã
ãã¼ã¿ãé·ãé·ãæååã®ä¸ã«å«ã¾ãã¦ãã¦ãããã使ããããå½¢ã«åå²ãã¦æä½ãããã¨ããããã¾ããä¾ãã°ãã¼ã¿ã表形å¼ã§è¡¨ç¤ºããã¨ãããããªã¨ãã§ããããã«ã¯split()
ã¡ã½ããã使ç¨ã§ãã¾ãããã®ã¡ã½ããã¯æååãåå²ããã®ã«ä½¿ç¨ããæåã弿°ã¨ãã¦åããæååããã®æåã§åºåã£ãé¨åæååã®é
åã«åå²ãã¾ãã
ã¡ã¢: å³å¯ã«ã¯ãããã¯é åã§ã¯ãªãæååã®ã¡ã½ããã§ããããããããã§ç´¹ä»ããã®ãä¸çªã ã¨æãåãä¸ãã¦ãã¾ãã
ããã§ã¯ã©ã®ããã«åãã試ãã¦ã¿ã¾ããããã¾ãã¯æååãã³ã³ã½ã¼ã«ã«ä½ãã¾ãã
const data = "æå¹,ä»å°,æ±äº¬,åå¤å±,大éª,ç¦å²¡";
ãã®æååãã«ã³ãã§åå²ãã¾ãã
const cities = data.split(",");
cities;
ããã¦ãã§ããé åã®é·ãã確èªãã¦ããã®ä¸èº«ãè¦ã¦ã¿ã¾ãããã
cities.length;
cities[0]; // é
åã®æåã®é
ç®
cities[1]; // é
åã® 2 çªç®ã®é
ç®
cities[cities.length - 1]; // é
åã®æå¾ã®é
ç®
join()
ã¡ã½ããã使ããã¨ã§ãéã®ãã¨ãã§ãã¾ãã
const commaSeparated = cities.join(",");
commaSeparated;
é
åãæååã«ããããä¸ã¤ã®æ¹æ³ã¯ã toString()
ã¡ã½ããã使ããã¨ã§ãã弿°ãåããªã toString()
㯠join()
ã¨æ¯ã¹ç°¡åã§ãããããå¶éãããã¾ãã join()
ã使ãã°ãä»ã®åºåãæåãæå®ãããã¨ãã§ãã¾ããï¼4. ã®ä¾ãã«ã³ã以å¤ã®ä»ã®æåãæå®ãã¦è©¦ãã¦ãã ãããï¼
const dogNames = ["ãã", "ãã", "ã¿ãã¦", "ã¢ã³"];
dogNames.toString(); //ãã,ãã,ã¿ãã¦,ã¢ã³
å ã»ã©è¨è¿°ããä¾ã«æ»ãã¾ããããè«æ±æ¸ã«è£½ååã¨ä¾¡æ ¼ãå°å·ããä¾¡æ ¼ãåè¨ãã¦ä¸é¨ã«å°å·ãã¾ããä¸è¨ã«è¨è¿°ããã¦ããç·¨éå¯è½ãªä¾ã«ã¯ãæ°åãå«ãã³ã¡ã³ããããã¾ãããããã®ã³ã¡ã³ãã¯ãã³ã¼ãã«ä½ãã追å ããªããã°ãªããªãå ´æã示ãã¦ãã¾ããæ¬¡ã®ããã«ãã¾ãã
// No.1
ã¨ããã³ã¡ã³ãã®ä¸ã«ãååã®ååã¨ä¾¡æ ¼ãã³ãã³ (:) ã§ç¹ãããããã¤ãæååã並ãã§ãã¾ããããã products
ã¨ããååã®é
åã«ãã¦ãã ããã// No.2
ã¨ããã³ã¡ã³ãã®ä¸ã§ã for...of()
ã«ã¼ããå§ã㦠products
é
åã®ãã¹ã¦ã®é
ç®ãç¹°ãè¿ãããã«ãã¦ãã ããã// No.3
ã®ã³ã¡ã³ãã®ä¸ã« 1 è¡ã§ãç¾å¨ã®é
åã®é
ç® (name:price
) ã 2 ã¤ã«åå²ããã³ã¼ããæ¸ãã¦ãã ããã䏿¹ã¯ååã®ååããã䏿¹ã¯ä¾¡æ ¼ã§ããããã©ãããã°ããã®ãããããªããã°ã便å©ãªæååã®ã¡ã½ããã®è¨äºãåç
§ãã¦ãã ãããããã«æååã¨é
åãç¸äºã«å¤æãããå½¹ã«ç«ã¤ã§ããããtotal
ã¨ããååã®å¤æ°ã宣è¨ããã¦ã0 ã§åæåããã¦ãã¾ããã«ã¼ãã®ä¸ã§ (// No.4
ã®ä¸) ç¹°ãè¿ãã¦ããç¾å¨ã®é
ç®ã®ä¾¡æ ¼ã total
夿°ã«å ç®ããã³ã¼ããä¸è¡ã§æ¸ãã¦ãã ãããããããã°ãã³ã¼ãã®æå¾ã§æ£ããåè¨ãè«æ±æ¸ã«å°åããã¾ããæãã代å
¥æ¼ç®åãå½¹ã«ç«ã¤ã§ãããã// No.5
ã®ã³ã¡ã³ãã®ç´ä¸ã®ã³ã¼ãã itemText
夿°ããç¾å¨ã®é
ç®ã®ååå â $ç¾å¨ã®é
ç®ã®ä¾¡æ ¼ãã¨ãªãããã«å¤æ´ãã¦ãã ããããé´ â $23.99ãã¨ããæãã§ããããããã°æ£ããæ
å ±ãè«æ±æ¸ã«å°åããã¾ããããã¯ããæ
£ããã¯ãã®åç´ãªæååçµåã§å®ç¾ã§ãã¾ãã// No.6
ã®ã³ã¡ã³ãã®ä¸ã«ã }
ã追å ã㦠for...of()
ã«ã¼ãã®æå¾ã示ãå¿
è¦ãããã§ãããã<h2>åºåçµæ</h2>
<div class="output" style="min-height: 150px;">
<ul></ul>
<p></p>
</div>
<h2>ã³ã¼ãã¨ãã£ã¿ã¼</h2>
<p class="a11y-label">
ã³ã¼ãã¨ãã£ã¿ã¼ããæããã«ã¯ Esc ãã¼ãæ¼ãã¦ä¸ããï¼ã¿ããã¼ã§ã¯ã¿ãæåãæ¿å
¥ãã¾ãï¼ã
</p>
<textarea id="code" class="playable-code" style="height: 410px;width: 95%">
const list = document.querySelector('.output ul');
const totalBox = document.querySelector('.output p');
let total = 0;
list.textContent = "";
totalBox.textContent = "";
// No.1
'ãã³ã:6.99'
'é´ä¸:5.99'
'T ã·ã£ã:14.99'
'ãºãã³:31.99'
'é´:23.99';
// No.2
// No.3
// No.4
// No.5
let itemText = 0;
const listItem = document.createElement('li');
listItem.textContent = itemText;
list.appendChild(listItem);
// No.6
//
totalBox.textContent = 'åè¨: $' + total.toFixed(2);
</textarea>
<div class="playable-buttons">
<input id="reset" type="button" value="ãªã»ãã" />
<input id="solution" type="button" value="çããè¦ã" />
</div>
const textarea = document.getElementById("code");
const reset = document.getElementById("reset");
const solution = document.getElementById("solution");
let code = textarea.value;
let userEntry = textarea.value;
function updateCode() {
eval(textarea.value);
}
reset.addEventListener("click", () => {
textarea.value = code;
userEntry = textarea.value;
solutionEntry = jsSolution;
solution.value = "Show solution";
updateCode();
});
solution.addEventListener("click", () => {
if (solution.value === "çããè¦ã") {
textarea.value = solutionEntry;
solution.value = "çããé ã";
} else {
textarea.value = userEntry;
solution.value = "çããè¦ã";
}
updateCode();
});
const jsSolution = `const list = document.querySelector('.output ul');
const totalBox = document.querySelector('.output p');
let total = 0;
list.textContent = "";
totalBox.textContent = "";
const products = [
'ãã³ã:6.99',
'é´ä¸:5.99',
'T ã·ã£ã:14.99',
'ãºãã³:31.99',
'é´:23.99',
];
for (const product of products) {
const subArray = product.split(':');
const name = subArray[0];
const price = Number(subArray[1]);
total += price;
const itemText = \`\${name} â $\${price}\`;
const listItem = document.createElement('li');
listItem.textContent = itemText;
list.appendChild(listItem);
}
totalBox.textContent = \`åè¨: $\${total.toFixed(2)}\`;`;
let solutionEntry = jsSolution;
textarea.addEventListener("input", updateCode);
window.addEventListener("load", updateCode);
// ã¿ããã¼ã§ããã¹ãã¨ãªã¢ããæãã¦ãã¾ãã®ãé²ãã
// 代ããã«ã«ã¼ã½ã«ä½ç½®ã«ã¿ãæåãæ¿å
¥ãã
textarea.onkeydown = (event) => {
if (event.code === "Tab") {
event.preventDefault();
insertAtCaret("\t");
}
if (event.code === "Escape") {
textarea.blur();
}
};
function insertAtCaret(text) {
const scrollPos = textarea.scrollTop;
let caretPos = textarea.selectionStart;
const front = textarea.value.substring(0, caretPos);
const back = textarea.value.substring(
textarea.selectionEnd,
textarea.value.length,
);
textarea.value = front + text + back;
caretPos += text.length;
textarea.selectionStart = caretPos;
textarea.selectionEnd = caretPos;
textarea.focus();
textarea.scrollTop = scrollPos;
}
// ã¦ã¼ã¶ã¼ãããã¹ãã¨ãªã¢ã®ã³ã¼ããæ¸ãæãã度㫠userCode ãæ¯åæ´æ°ãã
textarea.onkeyup = () => {
// ã¦ã¼ã¶ã¼ã®ã³ã¼ãã表示ããã¦ããã¨ãã®ã¿ç¶æ
ãä¿åãã
// çãã®ã³ã¼ãã§ã¦ã¼ã¶ã¼ã³ã¼ãã䏿¸ããããªãããã«ãã
if (solution.value === "çããè¦ã") {
userEntry = textarea.value;
} else {
solutionEntry = textarea.value;
}
updateCode();
};
html {
font-family: sans-serif;
}
h2 {
font-size: 16px;
}
.a11y-label {
margin: 0;
text-align: right;
font-size: 0.7rem;
width: 98%;
}
body {
margin: 10px;
background-color: #f5f9fa;
}
ã¢ã¯ãã£ãã©ã¼ãã³ã°: ä¸ä½ 5 ä»¶ã®æ¤ç´¢
push()
ãpop()
ã¨ãã£ãã¡ã½ããã使ç¨ããããä¾ã¯ãã¦ã§ãã¢ããªã§ãã¼ã¿ã®ä¸ã§æå¹ãªé
ç®ã ããæãåºãã¦ç¶æãããã¨ããªã©ã§ããä¾ãã°ãã¢ãã¡ã¼ã·ã§ã³ã®ããã·ã¼ã³ã§ãç¾å¨è¡¨ç¤ºä¸ã®èæ¯ã¤ã¡ã¼ã¸ãä¿æãã¦ããé
åããããä¸åº¦ã«è¡¨ç¤ºããã¤ã¡ã¼ã¸ãããã©ã¼ãã³ã¹ãªã©ã®çç±ã§ 50 ã«å¶éãããã¨ãã¾ãããã®éãæ°ãããªãã¸ã§ã¯ããé
åã«è¿½å ããã¨åæã«ãå¤ããªãã¸ã§ã¯ããåé¤ãã¦é
åã叿ã®ãµã¤ãºã«ç¶æãã¾ãã
ãã®ä¾ã§ã¯ãããã·ã³ãã«ãªä½¿ç¨æ¹æ³ã示ãã¾ããããã§ã¯ãæ¤ç´¢ããã¯ã¹ãåããæ¨¡æ¬ã®æ¤ç´¢ãµã¤ããæä¾ãã¾ããæ¤ç´¢ããã¯ã¹ã«èªå¥ãå ¥åãããã¨ãéå» 5 ååã®æ¤ç´¢èªå¥ããªã¹ãã«è¡¨ç¤ºãããã¨ããä»çµã¿ã§ãã æéçµéã«ä¼´ãæ¤ç´¢èªå¥ã®æ°ã 5 ã¤ãè¶ ããã¨ãæ°ããèªå¥ããªã¹ãã®ä¸çªä¸ã«è¿½å ãããã³ã«ãæå¾ã®èªå¥ãåé¤ããã¾ããããã«ããã常ã«éå» 5 ååã®æ¤ç´¢èªå¥ããªã¹ãã«è¡¨ç¤ºããã¾ãã
ã¡ã¢: å®éã®æ¤ç´¢ã¢ããªã§ã¯ã以åã®æ¤ç´¢èªãã¯ãªãã¯ãããã¨ãã§ããããããã°å®éã®æ¤ç´¢çµæã表示ãããã§ããããä»ã®ã¨ããã¯åç´ã«ãã¦ããã¾ãããã
ã¢ããªã宿ãããã«ã¯ã次ã®ããã«ããå¿ è¦ãããã¾ãã
// No.1
ã³ã¡ã³ãã®ä¸ã«ãæ¤ç´¢ããã¯ã¹ã«å
¥åãããæ¤ç´¢èªãé
åã®å
é ã«è¿½å ããã³ã¼ããæ¸ãã¦ãã ãããæ¤ç´¢èªã¯ searchInput.value
ã¨æ¸ãã¦åå¾ãã¾ãã// No.2
ã³ã¡ã³ãã®ä¸ã«ãé
åã®æå¾ã®é
ç®ãåé¤ããã³ã¼ããæ¸ãã¦ãã ããã<h2>åºåçµæ</h2>
<div class="output" style="min-height: 150px;">
<input type="text" /><button>æ¤ç´¢</button>
<ul></ul>
</div>
<h2>ã³ã¼ãã¨ãã£ã¿ã¼</h2>
<p class="a11y-label">
ã³ã¼ãã¨ãã£ã¿ã¼ããæããã«ã¯ Esc ãã¼ãæ¼ãã¦ä¸ããï¼ã¿ããã¼ã§ã¯ã¿ãæåãæ¿å
¥ãã¾ãï¼ã
</p>
<textarea id="code" class="playable-code" style="height: 370px; width: 95%">
const list = document.querySelector('.output ul');
const searchInput = document.querySelector('.output input');
const searchBtn = document.querySelector('.output button');
list.innerHTML = '';
const myHistory = [];
const MAX_HISTORY = 5;
searchBtn.onclick = () => {
// æ¤ç´¢ããã¯ã¹ã空ã§ã¯ãªãå ´åã®ã¿æ¤ç´¢èªãåãä»ããããã«ãã
if (searchInput.value !== '') {
// No.1
// 表示ä¸ã®ä¸è¦§ã空ã«ãã¦ãåãé
ç®ã表示ãããªãããã«ãã¦ã
// çµæã¯æ¤ç´¢èªãå
¥åãããåº¦ã«æ¯åä½ãç´ããã
list.innerHTML = '';
// é
åãã«ã¼ããã¦ããªã¹ãå
ã®å
¨ã¦ã®æ¤ç´¢èªã表示ãã
for (const itemText of myHistory) {
const listItem = document.createElement('li');
listItem.textContent = itemText;
list.appendChild(listItem);
}
// é
åã®é·ãã 5 以ä¸ã«ãªã£ããä¸çªå¤ãæ¤ç´¢èªãåé¤ãã
if (myHistory.length >= MAX_HISTORY) {
// No.2
}
// æ¬¡ã®æ¤ç´¢èªãåãä»ãããããæ¤ç´¢ããã¯ã¹ã空ã«ãã¦ãã©ã¼ã«ã¹ãã
searchInput.value = '';
searchInput.focus();
}
}
</textarea>
<div class="playable-buttons">
<input id="reset" type="button" value="ãªã»ãã" />
<input id="solution" type="button" value="çããè¦ã" />
</div>
html {
font-family: sans-serif;
}
h2 {
font-size: 16px;
}
.a11y-label {
margin: 0;
text-align: right;
font-size: 0.7rem;
width: 98%;
}
body {
margin: 10px;
background: #f5f9fa;
}
const textarea = document.getElementById("code");
const reset = document.getElementById("reset");
const solution = document.getElementById("solution");
let code = textarea.value;
let userEntry = textarea.value;
function updateCode() {
eval(textarea.value);
}
reset.addEventListener("click", () => {
textarea.value = code;
userEntry = textarea.value;
solutionEntry = jsSolution;
solution.value = "Show solution";
updateCode();
});
solution.addEventListener("click", () => {
if (solution.value === "çããè¦ã") {
textarea.value = solutionEntry;
solution.value = "çããé ã";
} else {
textarea.value = userEntry;
solution.value = "çããè¦ã";
}
updateCode();
});
const jsSolution = `const list = document.querySelector('.output ul');
const searchInput = document.querySelector('.output input');
const searchBtn = document.querySelector('.output button');
list.textContent = "";
const myHistory = [];
const MAX_HISTORY = 5;
searchBtn.onclick = () => {
// æ¤ç´¢ããã¯ã¹ã空ã§ã¯ãªãå ´åã®ã¿æ¤ç´¢èªãåãä»ããããã«ãã
if (searchInput.value !== '') {
myHistory.unshift(searchInput.value);
// 表示ä¸ã®ä¸è¦§ã空ã«ãã¦ãåãé
ç®ã表示ãããªãããã«ãã¦ã
// çµæã¯æ¤ç´¢èªãå
¥åãããåº¦ã«æ¯åä½ãç´ããã
list.textContent = "";
// é
åãã«ã¼ããã¦ããªã¹ãå
ã®å
¨ã¦ã®æ¤ç´¢èªã表示ãã
for (const itemText of myHistory) {
const listItem = document.createElement('li');
listItem.textContent = itemText;
list.appendChild(listItem);
}
// é
åã®é·ãã 5 以ä¸ã«ãªã£ããä¸çªå¤ãæ¤ç´¢èªãåé¤ãã
if (myHistory.length >= MAX_HISTORY) {
myHistory.pop();
}
// æ¬¡ã®æ¤ç´¢èªãåãä»ãããããæ¤ç´¢ããã¯ã¹ã空ã«ãã¦ãã©ã¼ã«ã¹ãã
searchInput.value = '';
searchInput.focus();
}
}`;
let solutionEntry = jsSolution;
textarea.addEventListener("input", updateCode);
window.addEventListener("load", updateCode);
// ã¿ããã¼ã§ããã¹ãã¨ãªã¢ããæãã¦ãã¾ãã®ãé²ãã
// 代ããã«ã«ã¼ã½ã«ä½ç½®ã«ã¿ãæåãæ¿å
¥ãã
textarea.onkeydown = (event) => {
if (event.code === "Tab") {
event.preventDefault();
insertAtCaret("\t");
}
if (event.code === "Escape") {
textarea.blur();
}
};
function insertAtCaret(text) {
const scrollPos = textarea.scrollTop;
let caretPos = textarea.selectionStart;
const front = textarea.value.substring(0, caretPos);
const back = textarea.value.substring(
textarea.selectionEnd,
textarea.value.length,
);
textarea.value = front + text + back;
caretPos += text.length;
textarea.selectionStart = caretPos;
textarea.selectionEnd = caretPos;
textarea.focus();
textarea.scrollTop = scrollPos;
}
// ã¦ã¼ã¶ã¼ãããã¹ãã¨ãªã¢ã®ã³ã¼ããæ¸ãæãã度㫠userCode ãæ¯åæ´æ°ãã
textarea.onkeyup = () => {
// ã¦ã¼ã¶ã¼ã®ã³ã¼ãã表示ããã¦ããã¨ãã®ã¿ç¶æ
ãä¿åãã
// çãã®ã³ã¼ãã§ã¦ã¼ã¶ã¼ã³ã¼ãã䏿¸ããããªãããã«ãã
if (solution.value === "çããè¦ã") {
userEntry = textarea.value;
} else {
solutionEntry = textarea.value;
}
updateCode();
};
ã¹ãã«ãã¹ã
ãã®è¨äºã®æå¾ã«éãã¾ããããæã大åãªæ å ±ãè¦ãã¦ãã¾ããï¼æ¬¡ã«é²ãåã«ããã®æ å ±ã身ã«ä»ãããã©ããã確èªãããã¹ããããã¾ããã¹ãã«ãã¹ã: é åãè¦ã¦ãã ããã
çµè«ãã®è¨äºãèªãã§ãé åãã¨ã¦ã使ãããã®ã§ãããã¨ããåããããã ããã®ã§ã¯ãªãã§ãããããé å㯠JavaScript ã®è³ãã¨ããã§è¦ããã¾ããç¹ã«é åã®åé ç®ã«å¯¾ãã¦åããã¨ãããéã«ã«ã¼ãã¨ä¸ç·ã«ä½¿ããã¾ãã便å©ãªã«ã¼ãã®åºæ¬ã«ã¤ãã¦ã¯æ¬¡ã®ã¢ã¸ã¥ã¼ã«ã§æãã¾ãããä»ã¯èªåèªèº«ãè¤ãã¦ãååã«ä¼ã¿ã¾ãããï¼ãã®ã¢ã¸ã¥ã¼ã«ã®ãã¹ã¦ã®è¨äºãããçµãã¾ããï¼
ãã ããæ¬¡ã®ã¢ã¸ã¥ã¼ã«ã®åã«ãç解度ã確èªããããããã®ã¢ã¸ã¥ã¼ã«ã®èª²é¡ãããã¾ããããæ®ã£ã¦ããã®ã¯ããã ãã§ãã
é¢é£æ å ±Array
â Array
ãªãã¸ã§ã¯ãã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ã§ãã詳細ãªã¬ã¤ãã¨æ©è½ã«ã¤ãã¦ã¯ããã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ã§ç´¹ä»ããã¦ãã¾ãã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