用对象替换数组值

时间:2021-06-08 12:16:23

标签: javascript arrays object

我有这个 JavaScript 对象:

  const DayOfWeek = [
    { key: 'MON', value: 'M' },
    { key: 'TUE', value: 'T' },
    { key: 'WED', value: 'W' },
    { key: 'THU', value: 'T' },
    { key: 'FRI', value: 'F' },
    { key: 'SAT', value: 'S' },
    { key: 'SUN', value: 'S' },
  ];

注意:如果 frequencyDayOfWeek 是 WED 替换为对象 { key: 'WED', value: 'W' }

let frequencyDayOfWeek = [
  "WED",
  "THU",
  "FRI",
  "SAT"
];

frequencyDayOfWeek.map((day, index) => { //not working
  day.find((data, i) => {
    if (DayOfWeek[i].key == data) {
      //return match arrays of object;
      //  [{ key: 'MON', value: 'M' }]
      //  [{ key: 'WED', value: 'W' }]
    }
  })
});

所以这是我想要得到的结果:

 "frequencyDayOfWeek": [
    { key: 'WED', value: 'W' },
    { key: 'THU', value: 'T' },
    { key: 'FRI', value: 'F' },
    { key: 'SAT', value: 'S' },
   ]

如何使用 JavaScript 实现它?

2 个答案:

答案 0 :(得分:1)

您需要从映射函数返回一个值。

例如:

for a in range(x,y,-1):

    if a % z == 0:
        
        print (a,end=' ')
        even_count = 0
        even_sum = 0
        odd_count = 0
        odd_sum = 0
for num in range(x,y,-1):
    if num % z == 0 and num % 2 == 0:
        even_count += 1
        even_sum += num
        
for number in range(x,y,-1):
    if number % z == 0 and number % 2 == 1:
        odd_count += 1
        odd_sum += number
print(' ')
print(even_count,'even numbers total to',even_sum)
print(odd_count,'odd numbers total to',odd_sum)

答案 1 :(得分:0)

frequencyDayOfWeek.map(f => DayOfWeek.find(d => d.key === f));