如何将值/参数传递给javascript中的map函数

时间:2019-04-25 07:43:59

标签: javascript jquery arrays object

我想知道如何使用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 :(得分:0)

jonrsharpe已在注释中指出:传递给map函数的函数的第二个参数是您要映射到的对象的 index 。您可以在docs中阅读有关参数的信息。

因此,一种解决方案是使用此索引来访问另一个数组的值,如下所示:

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数组具有相同的大小并正确排序即可。

答案 1 :(得分:0)

正如其他人所提到的,map的第二个参数是当前迭代元素的index,在您的示例中看起来好像不需要它。但是,您可能会发现有用的是将名称/代码放入相同的对象,并在这些对象的数组上map ping。这样,相关信息就可以在一起。

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>`;
    });
  }
}

codesandbox example