提取字符串的中间部分 \- JavaScript

新手上路,请多包涵

我正在尝试用 JavaScript 为此编写一个算法,但我得到一个 str.length 不是函数…

 function extractMiddle(str) {

    var position;
    var length;

    if(str.length() % 2 == 1) {
        position = str.length() / 2;
        length = 1;
    } else {
        position = str.length() / 2 - 1;
        length = 2;
    }

    result = str.substring(position, position + length)

}

extractMiddle("handbananna");

原文由 MadCatm2 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 334
2 个回答

因为字符串长度不是一个函数,它是一个属性。

  function extractMiddle(str) {

        var position;
        var length;

        if(str.length % 2 == 1) {
            position = str.length / 2;
            length = 1;
        } else {
            position = str.length / 2 - 1;
            length = 2;
        }

        return str.substring(position, position + length)
    }

    console.log(extractMiddle("handbananna"));

原文由 Alexey Soshin 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是执行此操作的另一种方法:

 function extractMiddle(str) {
  return str.substr(Math.ceil(str.length / 2 - 1), str.length % 2 === 0 ? 2 : 1);
}

原文由 Karolina 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题