V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sudoy
V2EX  ›  Python

写完 Python 写 JavaScript 经常因为一个标点符号浪费好多时间

  •  
  •   sudoy · 2021-11-30 21:39:47 +08:00 · 2769 次点击
    这是一个创建于 870 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ```javascript
    var names = ["name1", "name2", "name3", "name4", "name5"];
    function loopSelected() {
    for (let i = 0; i < asins.length, i++;) {
    console.log(names[i]);
    };
    };
    ```
    24 条回复    2021-12-02 15:54:49 +08:00
    DoveAz
        1
    DoveAz  
       2021-11-30 22:11:14 +08:00 via Android
    你不写不就行了😅
    ipwx
        2
    ipwx  
       2021-11-30 22:12:22 +08:00   ❤️ 1
    ummm 我寻思 python 里面没有 for ..., ... 的结构啊。。。
    DOLLOR
        3
    DOLLOR  
       2021-11-30 22:22:57 +08:00   ❤️ 1
    //如果你只是想遍历数组,为什么不用数组的方法?
    ["name1", "name2", "name3", "name4", "name5"].forEach(i=>{
    console.log(i)
    })
    pendulum
        4
    pendulum  
       2021-11-30 22:28:13 +08:00
    没看明白
    Leviathann
        5
    Leviathann  
       2021-11-30 22:37:55 +08:00
    为什么要用 fori
    lybcyd
        6
    lybcyd  
       2021-11-30 22:46:25 +08:00   ❤️ 1
    JS 分号可以不写,你自己处理好特殊情况就可以

    Python:
    names = ["name1", "name2", "name3", "name4", "name5"]


    def loopSelected():
    for name in names:
    print(name)

    JS:
    let names = ["name1", "name2", "name3", "name4", "name5"]

    function loopSelected() {
    for (let name of names) {
    console.log(name);
    }
    }
    或者
    let names = ["name1", "name2", "name3", "name4", "name5"]

    function loopSelected() {
    names.forEach(name => {
    console.log(name)
    });
    }

    并没有麻烦到哪里去
    ClericPy
        7
    ClericPy  
       2021-11-30 23:09:51 +08:00   ❤️ 1
    感情手写啊... 现在 autocomplete 和 linter 啥的都那么稳定了, 写的时候没觉得这俩脚本语言有啥大差别...
    vanton
        8
    vanton  
       2021-11-30 23:15:52 +08:00   ❤️ 1
    手写 for ?你这个啥 IDE 啊。

    另外,js 数组遍历建议用 forEach
    JeffGe
        9
    JeffGe  
       2021-11-30 23:22:08 +08:00 via Android   ❤️ 1
    你可以了解一下无分号写法,稍微注意几个 ASI 的坑就行了
    https://segmentfault.com/a/1190000038262067
    Exia
        10
    Exia  
       2021-12-01 00:09:10 +08:00
    帖主的意思是指 for 第二个条件后面是分号还是逗号吧,js 当然是分号了...
    kawaiidora
        11
    kawaiidora  
       2021-12-01 00:26:59 +08:00   ❤️ 2
    不敲分号,让 prettier 自己补
    christin
        12
    christin  
       2021-12-01 07:37:24 +08:00 via iPhone   ❤️ 1
    问题在这里
    for (let i = 0; i < asins.length, i++;)
    不一定非要用 for 循环,map ,foreach ,forof 都能用
    Blanke
        13
    Blanke  
       2021-12-01 08:32:34 +08:00   ❤️ 1
    难道没人发现这句话应该是:for (let i = 0; i < asins.length; i++)
    另外语句末尾的分号可以不写
    fwindcore
        14
    fwindcore  
       2021-12-01 08:54:08 +08:00 via iPhone
    写了一段时间 JavaScript 后没动力回到 python 了😂
    sudoy
        15
    sudoy  
    OP
       2021-12-01 09:06:45 +08:00
    @Exia 是的,习惯性用逗号,结果就这个玩意耽误好长时间
    sudoy
        16
    sudoy  
    OP
       2021-12-01 09:07:51 +08:00
    @christin
    @Blanke 对的,就是 asins.length 后面的分号习惯性写成逗号
    sudoy
        17
    sudoy  
    OP
       2021-12-01 09:09:23 +08:00
    @lybcyd
    @ClericPy 是手写的,如果用 IDE 的自动补全就不会出错了
    sudoy
        18
    sudoy  
    OP
       2021-12-01 09:12:10 +08:00
    @ipwx 有的 for key, value in enumerate(some_dictionary)
    sudoy
        19
    sudoy  
    OP
       2021-12-01 09:13:37 +08:00
    @DOLLOR forEach 和 for 都用,有时候 for 更合适
    GzhiYi
        20
    GzhiYi  
       2021-12-01 09:40:17 +08:00 via iPhone
    可以用 while 代替 for
    2i2Re2PLMaDnghL
        21
    2i2Re2PLMaDnghL  
       2021-12-01 09:55:30 +08:00
    @sudoy for key, value in enumerate(some_dictionary) 并不是 for ..., ... 的语法结构,你连 Python 都没学好
    语法结构是 for A in B ,只是 A 里面放了个解构的左值。
    你可以试试 for [key, value] in enumerate(some_dictionary)
    ipwx
        22
    ipwx  
       2021-12-01 10:38:20 +08:00
    @sudoy 对对对,楼上替我说了,我补充一点:

    def f(): return 1, 2

    a, b = f()

    你说的是这个语法
    sudoy
        23
    sudoy  
    OP
       2021-12-02 08:34:06 +08:00 via iPhone
    @2i2Re2PLMaDnghL
    @ipwx 哈哈哈 好吧
    oOoOoOoOoOo
        24
    oOoOoOoOoOo  
       2021-12-02 15:54:49 +08:00 via Android
    一眼看到 for
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2758 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:24 · PVG 20:24 · LAX 05:24 · JFK 08:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.