Как передать значение / аргумент в функцию карты в JavaScript - PullRequest
0 голосов
/ 25 апреля 2019

Я хотел бы знать, как передать переменную в функцию карты, используя JavaScript

var obj = ["Singapore", "Malaysia"]
var pr = ["SG", "MY"] // need to pass value to map function
render(){
 obj.map((val, pr)=>{
  return html`
        <p id="pr">val</p>
}

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Как уже упоминалось, вторым аргументом map является index элемента текущей итерации, и это не похоже на то, что вам нужно в вашем примере.Тем не менее, то, что вы могли бы найти полезным, это поместить имена / код в один и тот же объект и вместо этого map пинговать массив этих объектов.Таким образом, соответствующая информация остается вместе.

var arr = [{ name: 'Singapore', code: 'SG' }, { name: 'Malaysia', code: 'MY' }];

class App extends React.Component {
  render() {
    return arr.map(({ name, code }) => {
      return html`<p id="${code}">${name}</p>`;
    });
  }
}

коды и пример коробки

0 голосов
/ 25 апреля 2019

Как jonrsharpe уже указано в комментарии: вторым параметром функции, которую вы передаете функции map, является индекс объекта, на котором вы используете карту.Вы можете прочитать о параметрах в документах .

. Таким образом, решение было бы использовать этот индекс для доступа к значениям другого массива, например:

var obj = ["Singapore", "Malaysia"]
var pr = ["SG", "MY"] // need to pass value to map function
render(){
 obj.map((val, index) => {
  abbr = pr[index];

  // abbr will get the values "SG", "MY" whatsoever
}

Вам просто нужно следить за тем, чтобы ваши obj и pr массивы имели одинаковый размер и были правильно отсортированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...