使用括号表示法访问多个字符?
Access multiple characters using bracket notation?
我使用
返回字符串 '123456'
中的第二个、第三个和第五个数字
function returnSome(numbers) {
return numbers[1] + numbers[2] + numbers[4]
}
returnSome('123456'); //2, 3, 5
够简单吧?我想知道是否有更短的方法来写出来?像数字[1][2][4]?
我好像在网上找不到答案! (很可能是我不知道正确的术语!)
不是真的更短,但您可以使用索引数组并将其映射到字符串字符,然后将它们连接到一个新字符串:
[1, 2, 4].map(i => numbers[i]).join("")
something like numbers[1][2][4]?
我们可以非常接近柯里化:
const wrap = (str, res = "") => index => index + 1 ? wrap(str, res + str[index]) : res;
wrap(numbers)(1)(2)(4)()
你可以把你想要的索引变成一个你迭代的字符串,然后从你传入的数组中提取出来。
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
我使用
返回字符串'123456'
中的第二个、第三个和第五个数字
function returnSome(numbers) {
return numbers[1] + numbers[2] + numbers[4]
}
returnSome('123456'); //2, 3, 5
够简单吧?我想知道是否有更短的方法来写出来?像数字[1][2][4]?
我好像在网上找不到答案! (很可能是我不知道正确的术语!)
不是真的更短,但您可以使用索引数组并将其映射到字符串字符,然后将它们连接到一个新字符串:
[1, 2, 4].map(i => numbers[i]).join("")
something like numbers[1][2][4]?
我们可以非常接近柯里化:
const wrap = (str, res = "") => index => index + 1 ? wrap(str, res + str[index]) : res;
wrap(numbers)(1)(2)(4)()
你可以把你想要的索引变成一个你迭代的字符串,然后从你传入的数组中提取出来。
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