Last Updated: 2/6/2024, 5:44:57 AM
# 複数の配列を
同時に for 文で回す。
# 使用例
JavaScript で Python の zip のようなものを使いたいなと思いました。 使用例は以下のような具合です。 for 文でも分割代入できるんですね。
for (let [elm1, elm2, elm3]
of zip(array1, array2, array3)) {
console.log(elm1, elm2, elm3);
}
# 全体像
コードの全体像は以下のような具合です。
//
// 使用例
//
const array1 = [
'apple', 'orange', 'grape',
];
const array2 = [
'rabbit', 'dog', 'cat',
];
const array3 = [
'car', 'bicycle', 'airplane',
];
for (let [elm1, elm2, elm3]
of zip(array1, array2, array3)) {
console.log(elm1, elm2, elm3);
}
//
// 定義
//
function* zip(...args) {
const length = args[0].length;
// 引数チェック
for (let arr of args) {
if (arr.length !== length){
throw "Lengths of arrays are not eqaul.";
}
}
//
for (let index = 0; index < length; index++) {
let elms = [];
for (arr of args) {
elms.push(arr[index]);
}
yield elms;
}
}
# 参考文献
参考にさせていただいた記事です。