Open11

PythonとJS

shotakahashotakaha

リストの要素を取り出したい

python
for item in 配列オブジェクト:
    print(item)
js
for (const item of 配列オブジェクト) {
    console.log(item)
}
shotakahashotakaha
python
for i, item in enumerate(配列オブジェクト):
    print(i, item)
js
for (const i in 配列オブジェクト) {
   const item = 配列オブジェクト[i];
    console.log(i, item);
}
js
配列オブジェクト.forEach(function(item, i) {
    console.log(index, item);
});
shotakahashotakaha

辞書型の要素を取り出したい

python
for key, value in 辞書オブジェクト.items():
    print(f"{key} = {value}")
js
for (const key in 辞書オブジェクト) {
    const value = 辞書オブジェクト[key];
    console.log(`${key} = ${value}`);
}
shotakahashotakaha

辞書のキーと値を別々に取り出したい

python
keys = 辞書オブジェクト.keys()
print(keys)

values = 辞書オブジェクト.values()
print(values)
js
const keys = Object.keys(辞書オブジェクト)
console.log(keys);

const values = []
for (const key of keys) {
    const value = 辞書オブジェクト[key];
    values.push(value);
}
console.log(values);
shotakahashotakaha

関数を作りたい

python
def 関数名(引数):
    """関数の説明(docstring)
    """
    処理
    return 返り値
js
function 関数名(引数) {
    // 関数の説明(任意)
    処理;
    return 返り値;
}
shotakahashotakaha
js
// 関数名なし、引数が1つ、処理=返り値の場合
引数 => 処理;
a => a + 10;

// 関数名なし、引数が複数、処理=返り値の場合
(複数の引数) => 処理;
(a, b) => a + b;

// 関数名あり、引数が複数、処理が複数行の場合
let 関数名 = (複数の引数) => {
    // 複数行の処理
    処理;
    return 返り値;
}
  • functionを省略したアロー関数もある
  • シンプルな処理の場合は、1行で書ける
  • 引数が複数の場合や、処理が複数行の場合は、いつものfunctionの書き方に近くなる
  • map()関数の中で使われてるのをよく見かける

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions