为什么 javascript 带有负数的 slice 方法似乎计数不同?
Why does javascript slice method with negative numbers seem to count differently?
我得到了第一片香蕉:
let str = "Apple, Banana, Kiwi";
document.getElementById("demo").innerHTML = str.slice(7,13);
现在这个让我很困惑,因为它是从零开始的,并将其显示为答案
let str = "Apple, Banana, Kiwi";
str.slice(-12, -6) // Returns Banana
不确定为什么它不是 " "Banan - 引号表示 space 并且上面的 -6 包括最后一个字符,但它不应该像我这里的示例显示的那样,因为 javascript 状态切片方法不包括最后一个数字。希望你能帮我解惑??
如果 beginIndex
或 endIndex
是 negative
那么它被视为
beginIndex = str.length + beginIndex
endIndex = str.length + endIndex
let str = "Apple, Banana, Kiwi";
const negativeStart = -12;
const negativeEnd = -6;
console.log(str.slice(negativeStart, negativeEnd)) // Returns Banana
const start = str.length + negativeStart;
const end = str.length + negativeEnd;
console.log(start);
console.log(end);
console.log(str.slice(start, end));
我得到了第一片香蕉:
let str = "Apple, Banana, Kiwi";
document.getElementById("demo").innerHTML = str.slice(7,13);
现在这个让我很困惑,因为它是从零开始的,并将其显示为答案
let str = "Apple, Banana, Kiwi";
str.slice(-12, -6) // Returns Banana
不确定为什么它不是 " "Banan - 引号表示 space 并且上面的 -6 包括最后一个字符,但它不应该像我这里的示例显示的那样,因为 javascript 状态切片方法不包括最后一个数字。希望你能帮我解惑??
如果 beginIndex
或 endIndex
是 negative
那么它被视为
beginIndex = str.length + beginIndex
endIndex = str.length + endIndex
let str = "Apple, Banana, Kiwi";
const negativeStart = -12;
const negativeEnd = -6;
console.log(str.slice(negativeStart, negativeEnd)) // Returns Banana
const start = str.length + negativeStart;
const end = str.length + negativeEnd;
console.log(start);
console.log(end);
console.log(str.slice(start, end));