【问题标题】:How to pass value/argument to the map function in javascript如何在javascript中将值/参数传递给地图函数
【发布时间】:2019-04-25 07:43:58
【问题描述】:

我想知道如何使用 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>
}

【问题讨论】:

标签: javascript jquery arrays object


【解决方案1】:

正如jonrsharpe 已在评论中所述:您传递给map 函数的函数的第二个参数是您使用映射的对象的索引。您可以阅读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 数组具有相同的大小并正确排序。

【讨论】:

    【解决方案2】:

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

    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

    【讨论】:

      猜你喜欢
      • 2011-10-02
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2010-09-25
      • 2015-05-21
      • 1970-01-01
      相关资源
      最近更新 更多