我想知道如何使用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>
}
答案 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>`;
});
}
}