Chciałbym mieć funkcję o nazwie getSelectedValues, która pobiera dane z tablicy opcji zamiast zmiennej o nazwie SelectedValues (tak to mam teraz). Zmienna Selected Values aktualnie pobiera wartości, które są prawdziwe w tablicy opcji i przypisuje je do siebie. Chciałbym po prostu uczynić to funkcją. (coś o nazwie getSelectedValues, które sobie wyobrażam) Jak to osiągnąć?

var options = [
{
name: "Red Pepper",
"selected": false,
value: "5.99"   
},
  {
name: "Garlic",
"selected": true,
value: "5.99"   
},
      {
name: "Tomatoes",
"selected": true,
value: "5.99"   
}, 
]


  var SelectedValues = options.filter(function (option) {
  return (option.selected);
  });
 console.log(SelectedValues)
0
evan 4 kwiecień 2020, 05:17

3 odpowiedzi

Najlepsza odpowiedź
function getSelectedValues() {
   return options.filter(t => t.selected);

}

Inny sposób:

getSelectedValues = () => options.filter(t => t.selected);
-1
Segev -CJ- Shmueli 4 kwiecień 2020, 02:22

Coś takiego?

function getSelectedValues(options) {
  const size = Object.keys(options).length;
  for (var i = 0; i < size; i = i + 1) {
    const isSelected = options[i]["selected"];
    if (isSelected) {
      alert(options[i].name);
    }
  }
}

Jsfiddle tutaj: https://jsfiddle.net/z3nrh8Ly/50/

0
user13217224user13217224 4 kwiecień 2020, 02:54

Tylko w celach informacyjnych, przeczytaj więcej:

Deklarowanie funkcji w JavaScript

function filterOptions(options) {
  return options.filter(i => i.selected);
}
function filterOptions(options) {
  return options.filter((i) => i.selected);
}
var options = [
  {
    name: "Red Pepper",
    selected: false,
    value: "5.99",
  },
  {
    name: "Garlic",
    selected: true,
    value: "5.99",
  },
  {
    name: "Tomatoes",
    selected: true,
    value: "5.99",
  },
];

var selectedValues = filterOptions(options);
console.log(selectedValues);
.as-console {
  min-height: 100% !important;
}

.as-console-row {
  color: blue !important;
}
0
xdeepakv 4 kwiecień 2020, 02:29