Bla*_*tea 2 javascript ternary conditional-statements
var romanToInt = function(s) {
value = 0;
for (let i = 0; i < s.length; i += 1) {
symbols[s[i]] < symbols[s[i + 1]] ? value -= symbols[s[i]] : value += symbols[s[i]]
}
return value
};
Run Code Online (Sandbox Code Playgroud)
这是一个 leetcode 示例,我对这种情况感到困惑symbols[s[i]] < symbols[s[i+1]] ?,我不明白为什么 s[i+1] 不会超出范围?或者它超出范围但被认为是错误的?
在 javascript 中,数组是对象,因此在 javascript 数组中没有超出范围的事情。数组索引存储为键。如果索引不存在于数组中,undefined则返回。
const arr = [1, 2, 3];
console.log(typeof arr); // output: "object"
console.log(arr[4]); // output: undefined
Run Code Online (Sandbox Code Playgroud)