使用方括号符号访问多个字符?

时间:2018-07-09 21:21:46

标签: javascript string square-bracket

我正在使用{p>返回字符串'123456'中的第二,第三和第五数字

function returnSome(numbers) {
  return numbers[1] + numbers[2] + numbers[4]
}

returnSome('123456'); //2, 3, 5

足够简单吧?我想知道的是,是否存在一种更短的书写方式?像数字[1] [2] [4]之类的东西?

我似乎无法在线找到答案! (很可能是我不知道正确的术语!)

2 个答案:

答案 0 :(得分:1)

并不是很短,但是您可以使用索引数组并将其映射到字符串字符,然后将它们连接到新字符串:

[1, 2, 4].map(i => numbers[i]).join("")
  

类似于数字[1] [2] [4]?

我们可以非常接近currying:

const wrap = (str, res = "") => index => index + 1 ? wrap(str, res + str[index]) : res;

wrap(numbers)(1)(2)(4)()

答案 1 :(得分:1)

您可以将所需的索引转换为要迭代的字符串,然后从传入的数组中拉出。

let returnSome = (numbers, sections) => sections.split("").map(i => +numbers[i]);

let returnSome = (numbers, sections) => sections.split("").map(i => +numbers[i]);

console.log( returnSome('123456', '124') ); //2, 3, 5