我需要用多个分隔符获取拆分数组的最后一个元素。分隔符是逗号和空格。如果没有分隔符,则返回原始字符串。

如果字符串是"how,are you doing, today?"它应该返回"today?"

如果输入是“hello”,输出也应该是“hello”。

如何在JavaScript中做到这一点?


当前回答

史上最好的,也是我最喜欢的分切法

Const STR = "你好,你今天怎么样?" Const last = str.split(' ').slice(-1)[0] console.log ({})

另一个是使用拆分,然后弹出最后一个。

Const STR = "你好,你今天怎么样?" Const last = str.split(' ').pop() console.log ({})

其他回答

Const STR = "你好,今天怎么样?" Const pieces = str.split(/[\s,]+/) Const last = pieces[碎片。长度- 1] console.log ({})

此时,pieces是一个数组和pieces。Length包含数组的大小,因此要获取数组的最后一个元素,可以检查pieces[pieces. Length -1]。如果没有逗号或空格,它将简单地输出给定的字符串。

alert(pieces[pieces.length-1]); // alerts "today?"

这种方式容易理解,而且非常简短。

const output = input.split(',').pop().split(' ').pop();

at()方法接受一个整数值并返回该下标处的项,允许正整数和负整数。负整数从数组的最后一项开始计数。

Const STR = "你今天过得怎么样?"; Const last = str.split(/[\s,]+/).at(-1); console.log ({});

文档链接:Array.prototype.at()

你可以直接访问数组索引:

Var CSV = ' 0,1,2,3 '; csv.split (" ") [0];/ /结果:零 csv.split (" ") [3];/ /结果:3

每件事都有一句话。:)

var output = input.split(/[, ]+/).pop();