Javascript 如何从另一个JS数组创建新的JS数组

Javascript 如何从另一个JS数组创建新的JS数组,javascript,Javascript,我想从一个对象创建新的JS数组。我解释了我的情况如下 阵列1: const arr1 = [ {CODE: "PPM", YARN: 1987, EXP: "IUYT", CARD: "MMN"}, {CODE: "SSW", YARN: 4500, EXP: "NBVC", CARD: "MMN"}, {CODE: "YTR", YARN: 0

我想从一个对象创建新的JS数组。我解释了我的情况如下

阵列1:

const arr1 = [
  {CODE: "PPM", YARN: 1987, EXP: "IUYT", CARD: "MMN"},
  {CODE: "SSW", YARN: 4500, EXP: "NBVC", CARD: "MMN"},
  {CODE: "YTR", YARN: 0740, EXP: "NBVC", CARD: "MMN"},
  {CODE: "NNH", YARN: 1540, EXP: "MHYT", CARD: "MMN"}
]
阵列2:

const arr2 = [
  {PRICE: 6354, CODE: "SSW", WARN: "NBVC"},
  {PRICE: 8637, CODE: "NNH", WARN: "MHYT"},
]
预期产出:

output = [
  {CODE: "SSW", YARN: 4500, EXP: "NBVC", CARD: "MMN"},
  {CODE: "NNH", YARN: 1540, EXP: "MHYT", CARD: "MMN"}
]
说明:

我想比较
arr1
arr2
。如果
arr1.code
包含
arr2.code
,则它应位于新数组中。它的意思是
arr1.code[2]=“SSW”
SSW
包含在
arr2.code[0]
中。然后
arr1.code[2]
应该在新数组中。它与
arr1.code[3]=“NNH”
相同
NNH
包含在
arr2.code[1]

试用代码:

console.log(arr1.filter(({ CODE: code1 }) => arr2.some(({ CODE: code2 }) => code2 === code1));
当我尝试编写上述代码时,我遇到了一个错误

呈现时出错:“TypeError:无法读取未定义的属性'price'”

帮我解决这个问题

const arr1 = [
  {CODE: "PPM", YARN: 1987, EXP: "IUYT", CARD: "MMN"},
  {CODE: "SSW", YARN: 4500, EXP: "NBVC", CARD: "MMN"},
  {CODE: "YTR", YARN: 0740, EXP: "NBVC", CARD: "MMN"},
  {CODE: "NNH", YARN: 1540, EXP: "MHYT", CARD: "MMN"}
]

const arr2 = [
  {PRICE: 6354, CODE: "SSW", WARN: "NBVC"},
  {PRICE: 8637, CODE: "NNH", WARN: "MHYT"},
]

console.log(arr1.filter(({
    CODE: code1
}) => arr2.some(({
    CODE: code2
}) => code2 === code1))**)**;

我猜您可能错过了console.log语句中的括号。但是,您仍然没有在代码中使用price关键字。可能是其他问题。您能分享完整的功能吗?

价格不在您的代码中。同样,js也是如此sensitive@ChayimFriedman是的
js区分大小写
我在代码中修复了它。如何跳过<代码>价格>代码>只考虑<代码>代码<代码>您的代码在我运行时,只添加<代码> <代码>it@aer-您所说的“跳过
PRICE
”是什么意思?您在代码中使用
PRICE
的位置在哪里?@Ravid您可以在jsfiddle中发布它吗。因为它没有给我一个输出