что я делаю не так? нужно написать функцию в js которая перебирает массив объектов и в зависимости от условия if else возвращает массив значений

Мне надо чтобы функция возвращала в зависимости от значения propName массив значений ключей: name, price ,quantity, а вместо этого возвращается только одно значение. у меня дело в том что чат бот выдает условия задачи и мне надо дописать функцию

const products = [{
    name: 'Радар', price: 1300, quantity: 4
  },
  {
    name: 'Сканер', price: 2700, quantity: 3
  },
  {
    name: 'Дроид', price: 400, quantity: 7
  },
  {
    name: 'Захват', price: 1200, quantity: 9
  }];
  
function getAllPropValues(propName) {
  
// Пиши код ниже этой строки
  
    //вот тело функции:
    
    let name = []
    let price = []
    let quantity = []
    for (a of products) {
      if (propName = name) {
        name.push(a.name)
        continue
    
      }
      if (propName = price) {
        price.push(a.price)
        continue
      } if  (propName = quantity) {
        quantity.push(a.quantity)
        continue
      }
    }
    return propName

// Пиши код выше этой строки

}

Ответы (3 шт):

Автор решения: Konstantin_SH
  1. Почитайте про операторы сравнения не стоит путать их с оператором присваивания (одинарным равно) Вам же Grundy написал комментарий про это. В if не пишите оператор присваивания, сравнивайте свойства!

  2. Вам надо возвращать массив, так возвращайте массив, а не то, что изначально передали в функцию!

→ Ссылка
Автор решения: Igor

const products = [
  { name: 'Радар', price: 1300, quantity: 4 },
  { name: 'Сканер', price: 2700, quantity: 3 },
  { name: 'Дроид', price: 400, quantity: 7 },
  { name: 'Захват', price: 1200, quantity: 9 }
];
  
function getAllPropValues(propName) {
  return (!products.length || !(propName in products[0]))? 
    [] : products.map(i => i[propName]);
}

console.log(JSON.stringify(getAllPropValues('name')));
console.log(JSON.stringify(getAllPropValues('price')));
console.log(JSON.stringify(getAllPropValues('quantity')));
console.log(JSON.stringify(getAllPropValues('noproperty')));

→ Ссылка
Автор решения: Tatiana

Все гораздо проще:

function getAllPropValues(propName) {
  let valueArray = [];
   
  for (const product of products) {
    if (product.hasOwnProperty(propName)) {
      valueArray.push(product[propName]);
    }
  }
  return valueArray;
}
→ Ссылка