Javascript 将来自变量的字符串转换为另一个变量
我有一个从映射中得到的字符串,我想把它转换成一个变量,下面是一个完整的例子: 1.我有以下项目清单:Javascript 将来自变量的字符串转换为另一个变量,javascript,arrays,reactjs,object,ecmascript-6,Javascript,Arrays,Reactjs,Object,Ecmascript 6,我有一个从映射中得到的字符串,我想把它转换成一个变量,下面是一个完整的例子: 1.我有以下项目清单: const Fruits = [ { name: 'Apple', width: 100, height: 100, shape: 'apple', }, { name: 'Banana', width: 10, height: 100, shape: 'banana', }, ] 以及第二个项目列表: 我想将字符
const Fruits = [
{
name: 'Apple',
width: 100,
height: 100,
shape: 'apple',
},
{
name: 'Banana',
width: 10,
height: 100,
shape: 'banana',
},
]
const listItems=items.map((项,索引)=>
);
有什么建议吗
我期待着这个结果:
const listItems = items.map((item, index) =>
<Item
key={index}
newList={Fruits} // I need this one to become variable and not to evaluate into string
{...props}
/>
);
const listItems=items.map((项,索引)=>
);
注意:item.name第一项为“水果”,第二项为“水果1”,依此类推……试试这个:
常数=[
{
名称:'苹果',
宽度:100,
身高:100,
形状:'苹果',
},
{
名称:'香蕉',
宽度:10,
身高:100,
形状:'香蕉',
},
]
常数项=[
{
名称:'苹果',
缩写:‘A’,
},
{
名称:'香蕉',
缩写:'b'}
]
const result=items.map((ele,i)=>({key:i,newList:Fruits.find(r=>r.name==ele.name),…ele}));
控制台日志(结果)代码>如果我理解正确,您希望使用项目名称从水果集合获取数据。这是一个简单的方法
const listItems = items.map((item, index) =>
<Item
key={ index }
newList = { Fruits.find(fruit => fruit.name === item.name) } // I need this one to become variable and not to evaluate into string
{ ...props }
/>
);
const listItems=items.map((项,索引)=>
fruit.name===item.name)}//我需要这个变量变为变量,而不是计算为字符串
{…道具}
/>
);
此代码仅适用于有两个数组的情况:水果和水果1,这是我从您的问题中了解到的,您需要一个列表。希望我回答了你的问题
const listItems=items.map((项,索引)=>{
const Fruits=Fruits.find(fruit=>fruit.name==item.name);
如果(!水果){
水果=水果1.find(水果=>fruit.name===item.name);
}
返回(
);
});
看起来您需要重命名items
JSON对象中的键
你可以试着这样做
items.forEach(item=>{
item.Fruits = item.name
delete item.name
})
输入:
[
{
name: 'Apple',
abbr: 'A',
},
{
name: 'Banana',
abbr: 'b',
},
]
输出:
[
{
abbr: "A" ,
Fruits: "Apple"
}
{
abbr: "b" ,
Fruits: "Banana"
}
]
但是item.name
将是Apple
而不是Fruits
。您希望项目像{abbr:“b”,Fruits:“Banana”}
还是{abbr:“A”,Fruits:{name:“Apple”,宽度:100,高度:100,形状:'Apple',}
项目。第一个项目的名称将是“Fruits”,然后第二个是“水果1”,以此类推,我编辑了我的问题来解决它。实际上我想把“水果”作为变量传递给“newList”,这意味着我想“newList”是“水果”项的列表。
items.forEach(item=>{
item.Fruits = item.name
delete item.name
})
[
{
name: 'Apple',
abbr: 'A',
},
{
name: 'Banana',
abbr: 'b',
},
]
[
{
abbr: "A" ,
Fruits: "Apple"
}
{
abbr: "b" ,
Fruits: "Banana"
}
]