JavaScript問題集追加しました ECMAScript2025 stage4まで
久しぶりに更新しました
https://gist.github.com/kenmori/1961ce0140dc3307a0e641c8dde6701d
問題387
こちらを
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
]
to
{
"high": [{"name": "apples","quantity": 300}, {"name": "bananas","quantity": 500}],
"low": [{"name": "oranges","quantity": 200}, {"name": "kiwi","quantity": 150}]
}
このようにquantity201以上をhigh、200以下をlowとするgroupでまとめた構造にしてください
Object.groupBy(fruits, (item) => {
return item.quantity > 200 ? "high" : "low"
})
// ES2024
問題388
こちらの気温リストの中で41度以上の要素を取得してください。
const temp = [27, 28, 30, 40, 42, 35, 30];
尚、末尾から走査すること
let high = temp.findLast((t) => t > 40);
// 42
// ES2023
問題388
こちらの気温リストの中で41度以上のインデックスを取得してください。
const temp = [27, 28, 30, 40, 42, 35, 30];
尚、末尾から走査すること
let index = temp.findLastIndex((t) => t > 40);
// 4
// ES2023
問題389
こちらの配列
const months = ["Januar", "Februar", "Mar", "April"];
の"Mar"
を正しく"March"
に変更した新しい配列を作ってください。但し元の配列は破壊してはいけない。
const newMonths = months.with(2, "March");
months // ["Januar", "Februar", "Mar", "April"];
newMonths // ["Januar", "Februar", "March", "April"];
// ES2023
問題390
こちらの配列
const months = ["Jan", "Feb", "Mar", "Apr"];
の"Jan"
を取り除いてた新しい配列を取得してください。尚元の配列(month
)は破壊しないでください。
const spliced = months.toSpliced(0, 1);
month // ["Jan", "Feb", "Mar", "Apr"];
spliced // ["Feb", "Mar", "Apr"]
// ES2023
ES2023では、元の配列を変更せずに配列を分割する安全な方法として、Array toSpliced()メソッドが追加されました。 新しいtoSpliced()メソッドと古いsplice()メソッドの違いは、新しいメソッドは元の配列を変更せずに新しい配列を作成するのに対し、古いメソッドは元の配列を変更する点です。
問題391
[1, 2, 3]
と[1,2,4]
があります。どちらにも含まれている値をSetで取得してください。
const set = new Set([1,2,3]).intersection(new Set([1, 2, 4]))
set // Set{1, 2}
Set.intersectionは要素と引数のうちどちらにも含まれるものを返します(AND)
問題392
[1, 2]
と[1, 3]
があります。要素と引数のうち少なくともどちらか片方に含まれるものをSet型で返してください
const set = new Set([1,2]).union(new Set([1, 3]))
set // Set{1, 2, 3}
Set.union 要素と引数のうち少なくともどちらか片方に含まれるものを返す OR
問題393
[1, 2]
と[1, 3]
があります。要素の中で引数に含まれないものをSet型で返してください
const set = new Set([1,2]).difference(new Set([1, 3]))
set // Set{2}
Set.difference 要素の中で引数に含まれないものを返す 差集合
問題394
[1, 2]
と[1, 3]
があります。要素と引数どちらか一方にしか含まれないものをSet値で返してください
const set = new Set([1,2]).symmetricDifference(new Set([1, 3]))
set // Set{2, 3}
// ES2025 state 4
Set.symmetricDifference 要素と引数どちらか一方にしか含まれないものを返す XOR