Javascript 转换对象json反应本机

Javascript 转换对象json反应本机,javascript,react-native,Javascript,React Native,我有一个: fakeApi.js: { "offSet": [ { "code": "AB", "price": "1032" } { "code": "CD", "price": "1054" } { "

我有一个:

fakeApi.js:

{
  "offSet": [
    {
      "code": "AB",
      "price": "1032"
    }
    {
      "code": "CD",
      "price": "1054"
    }
    {
      "code": "EF",
      "price": "2042"
    }
  ]
}
我想将“代码”转换为文本,例如:

AB必须展示阿尔法·布拉沃 CD必须显示Charlie Delta EF必须展示生态狐步舞

App.js

import React from { useState } from 'react';
import { View, Text } from 'react-native';
import fakeApi from './fakeApi.js';

function App() {
  const sus = fakeApi.offSet;

  const getConvert = () => {
    const fake = sus.map(place => place.code);

    switch(fake) {
      case "AB":
        return <Text>Alfa Bravo</Text>
      case "CD":
        return <Text>Charlie Delta</Text>
      case "EF":
        return <Text>Eco Foxtrot</Text>
      default:
        return <Text>error</Text>
    }    
  }

  return (
    <View>
      {sus.map(place => (
        <View>
          <Text>{place.CODECONVERTIDO}</Text>
          <Text>{place.price}</Text>
        </View>
      ))}
    </View>
  )
}

export default App;
import React from{useState}from'React';
从“react native”导入{View,Text};
从“/fakeApi.js”导入fakeApi;
函数App(){
const sus=fakeApi.offSet;
const getConvert=()=>{
const fake=sus.map(place=>place.code);
开关(假){
案例“AB”:
返回阿尔法布拉沃
案例“CD”:
返回查理三角洲
案例“EF”:
返回生态狐步
违约:
返回错误
}    
}
返回(
{sus.map(地点=>(
{place.CODECONVERTIDO}
{place.price}
))}
)
}
导出默认应用程序;
转换是否正确?我在哪里失踪


谢谢

map函数返回一个数组,该数组必须使用循环进行迭代

不能在数组上运行开关来创建迭代器

使用映射回调将代码转换为文本,并返回数组的两个元素。像

const convertedCode=sus.map(地点=>{
设placeConversion=null;
开关(位置代码){
...
placeConversion=。。。
}
返回{price:place.price,已转换:placeConverted}
});

这是您在
开关盒中将数组与字符串匹配时出现的错误

const fake=sus.map(place=>place.code)这是返回数组

case“AB”:
但在这里您可以使用字符串替换数组

所以你的开关应该是

const getConvert=(code)=>{
开关(代码){
案例“AB”:
返回阿尔法布拉沃
案例“CD”:
返回查理三角洲
案例“EF”:
返回生态狐步
违约:
返回错误
}    
}
并在渲染函数中使用它,如下所示

{sus.map(
地点=>(
{getConvert(place.code)}
{place.price}
)
)
}