Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将来自变量的字符串转换为另一个变量_Javascript_Arrays_Reactjs_Object_Ecmascript 6 - Fatal编程技术网

Javascript 将来自变量的字符串转换为另一个变量

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', }, ] 以及第二个项目列表: 我想将字符

我有一个从映射中得到的字符串,我想把它转换成一个变量,下面是一个完整的例子: 1.我有以下项目清单:

const Fruits = [
  {
    name: 'Apple',
    width: 100,
    height: 100,
    shape: 'apple',
  },
  {
    name: 'Banana',
    width: 10,
    height: 100,
    shape: 'banana',
  },
]
  • 以及第二个项目列表:
  • 我想将字符串“item.name”转换为“Fruits”,以便将常量Fruits作为列表传递给“newList”变量,如下所示:
  • 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"
      }  
    ]