跳到主要内容

JavaScript 比较两个数组元素的程序

要理解这个示例,你应该掌握以下 JavaScript 编程主题的知识:

示例 1:使用 JSON.stringify() 比较数组

// 程序用于比较两个数组

function compareArrays(arr1, arr2) {
// 比较数组
const result = JSON.stringify(arr1) == JSON.stringify(arr2);

// 如果结果为真
if (result) {
console.log("这两个数组的元素相同。");
} else {
console.log("这两个数组的元素不同。");
}
}

const array1 = [1, 3, 5, 8];
const array2 = [1, 3, 5, 8];

compareArrays(array1, array2);

输出

这两个数组的元素相同。

JSON.stringify() 方法将数组转换成 JSON 字符串。

JSON.stringify([1, 3, 5, 8]); // "[1,3,5,8]"

然后,使用 == 比较两个数组字符串。

示例 2:使用 for 循环比较数组

// 程序用于从对象数组中提取值作为数组

function compareArrays(arr1, arr2) {
// 检查长度
if (arr1.length != arr2.length) {
return false;
} else {
let result = false;

// 比较数组的每个元素
for (let i = 0; i < arr1.length; i++) {
if (arr1[i] != arr2[i]) {
return false;
} else {
result = true;
}
}
return result;
}
}

const array1 = [1, 3, 5, 8];
const array2 = [1, 3, 5, 8];

const result = compareArrays(array1, array2);

// 如果结果为真
if (result) {
console.log("这两个数组的元素相同。");
} else {
console.log("这两个数组的元素不同。");
}

输出

这两个数组的元素相同。

在上面的程序中,

使用 length 属性比较数组元素的长度。如果两个数组的长度不同,则返回 false

否则,

  • 使用 for 循环遍历第一个数组的所有元素。
  • 在每次迭代期间,将第一个数组的元素与第二个数组的对应元素进行比较。
arr1[i] != arr2[i];
  • 如果两个数组的对应元素不相等,则返回 false 并终止循环。
  • 如果所有元素都相等,则返回 true

注意:如果数组元素包含对象,则上述程序不适用。

例如,

array1 = [1, { a: 2 }, 3, 5];