可以使用 for 循环遍历每个元素来比较两个 Uint8Array 是否相等。也可以使用 TypedArray.prototype.every() 方法,该方法会对 TypedArray 中的每个元素都调用一个提供的测试函数,直到它找到一个使该函数返回 false(表示不相等)的元素。如果找不到这样的元素,则 every() 方法返回 true(表示相等)。
代码示例:
function isEqual(a, b) { if (a.length !== b.length) { return false; }
// for 循环 // for (let i = 0; i < a.length; i++) { // if (a[i] !== b[i]) { // return false; // } // } // return true;
// TypedArray.prototype.every() return Array.prototype.every.call(a, (elem, index) => { return elem === b[index]; }); }
const a = new Uint8Array([1, 2, 3]); const b = new Uint8Array([1, 2, 3]); console.log(isEqual(a, b)); // true
const c = new Uint8Array([1, 2, 3]); const d = new Uint8Array([1, 2, 4]); console.log(isEqual(c, d)); // false