javascript - 关于如何避免使用临时变量的建议

标签 javascript

getLanguageCodeIndexPosition 函数查找语言代码在 url 标记中的位置,我想避免使用临时的 position 变量,这也许是一个更实用的解决方案。

我不知道语言标记是 en 还是 es,所以如果找到一个返回它的位置,我会同时查找这两个

我欢迎你的建议

const languages = ["en", "es"];
const path = "http://www.app.name.local/es/compass/sample-compass/compass-temporal";

function getLanguageCodeIndexPosition() {
    const tokens = path.split("/");
    let position = undefined;

    languages.forEach(sef => {
        const index = tokens.findIndex(token => token === sef);

        if (index !== -1) {
            position = index;

            return false;
        }
    });

    return position;
}

const position = getLanguageCodeIndexPosition();

console.log(position);

最佳答案

修改findIndex下的函数:

const languages = ["en", "es"];
const path = "http://www.app.name.local/es/compass/sample-compass/compass-temporal";

function getLanguageCodeIndexPosition() {
    const tokens = path.split("/");
    return tokens.findIndex(token => languages.includes(token));
}

console.log(getLanguageCodeIndexPosition());

关于javascript - 关于如何避免使用临时变量的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58203589/

相关文章:

javascript - 为什么我的 slider 没有响应?

javascript - 如果输入为空,我该怎么做,什么都不会发生

javascript - 如何正确地递归调用 img onerror 回调函数?

javascript - 让 GTM 代码在 Web 应用程序上运行

javascript - 如何在不使用循环的情况下按固定数量更改每个输入元素的值?

javascript - 如何使用 javascript 或 jquery 验证日期输入以将其始终设置为当天的 2 天

javascript - 如何播放两个不同的源视频,当一个结束后,切换到下一个并循环播放?

javascript - 使用新值刷新 dat.gui

javascript - 如何检查允许 m/d/y 和 yyyy-mm-dd 有效的日期是否有效

javascript - 使用 clone() 绑定(bind)重复事件