[英]Comparing the contents of two JS arrays
尝试使用以下方法与 JavaScript 中的 arrays 进行比较。
return stack1.forEach((v, i) => v === stack2[i]);
我想让它工作,但如果 arrays 相同,它会返回 undefined 而不是 true 或 false。
这是完整的代码:
const backspace_compare = function(str1, str2) {
let stack1 = [];
let stack2 = [];
for (let i = 0; i < str1.length; i++) {
str1[i] === "#" ? stack1.pop() : stack1.push(str1[i]);
}
for (let i = 0; i < str1.length; i++) {
str2[i] === "#" ? stack2.pop() : stack2.push(str2[i]);
}
return stack1.forEach((v, i) => v === stack2[i]);
};
任何帮助解决我使用类似方法比较 arrays 的方式将不胜感激。
以下是我用来比较 JS 中的两个数组的一些方法。 我通常喜欢的方法是JSON.stringify
。
但是,我觉得您的方法是最快的方法,只是您必须使用.every()
代替forEach()
。
let stack1 = [1, 2, 3, 4]; let stack2 = [1, 2, 3, 4]; console.log('every compare:', stack1.every((v, i) => v === stack2[i])); // or console.log('toString compare:', stack1.toString() === stack2.toString()); // or console.log('JSON compare:', JSON.stringify(stack1) === JSON.stringify(stack2)); // or console.log('short compare:', stack1+'' === stack2+'');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.