vue救助啊啊啊。后台数据的操作!!!!!抱着我最后一根头发瑟瑟发抖

前端学渣 2019-10-12 04:40:46
就是我现在在做一个功能,后台传递过来数据,然后我前端定义一个数组。后台传过来的数据来匹配我前端的数据,从而找到对应的中文name值。页面显示中文。数据不止一个,现在我只是pa一个上来、
这是前端自己写的数组

这是后台传过来的数据


我脑子有点笨了。所以请各位看官说的时候能够尽量详细点。
...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘大神仙 2019-10-19
  • 打赏
  • 举报
回复
引用 4 楼 前端学渣 的回复:
[quote=引用 1 楼 三岁打酱油 的回复:]
用你写的数组循环匹配api返回的数据,然后获取到json对象,取值 json.name显示

var data = [
{ funcCode: '00001', funcPagePath: '/aaa', type: '1', name: '中文名A'},
{ funcCode: '00002', funcPagePath: '/bbb', type: '2', name: '中文名B'},
{ funcCode: '00003', funcPagePath: '/ccc', type: '3', name: '中文名C'}
]
var value = '00001' // api返回的值一定要等于数组对应的某个属性
var name = ''
data.forEach(item => {
if (item.funcCode === value) {
name = item.name
}
})
console.log('中文名: '+name)



你这样的话,要我前端显示一个后台传过来的值,然后去拿这一个值去找我定义的数组里面的数据。可是我是多个值来的。不能一个值[/quote]那就再加个循环
cn00439805 2019-10-17
  • 打赏
  • 举报
回复
ajaxData 已经是json数据了,或者说json对象了。何来eval和parse一说 json在js中两种表现形式,要么是对象,要么是字符串
前端学渣 2019-10-17
  • 打赏
  • 举报
回复
引用 8 楼 cn00439805 的回复:
显示到界面:

document.getElementById("ele").innerHTML = JSON.stringify(ajaxData)



你这个的话是转换为字符串,如果转成一个json数据会不会比较好一点呢?如使用eval( )和json.parse( )
会比较好一点
cn00439805 2019-10-17
  • 打赏
  • 举报
回复
显示到界面:

document.getElementById("ele").innerHTML = JSON.stringify(ajaxData)
前端学渣 2019-10-17
  • 打赏
  • 举报
回复
引用 6 楼 cn00439805 的回复:
完全没有eval的事。。。你加eval的需求是什么呢


因为要显示到界面里,然后你的,我打印出来是[object object],是一个对象
cn00439805 2019-10-14
  • 打赏
  • 举报
回复
完全没有eval的事。。。你加eval的需求是什么呢
前端学渣 2019-10-14
  • 打赏
  • 举报
回复
引用 2 楼 cn00439805 的回复:

//目标给后端传来的ajaxData添加上对应的name属性
var ajaxData = [
{
funcCode: "P01BS001",
funcPagePath: "Collection"
},
{
funcCode: "P01BS019",
funcPagePath: "fuvk"
},
]
let myData = [
{
funcCode: "a1",
funcPagePath: "BaseInfo",
name: "张三",
type: "商户管理"
}, {
funcCode: "P01BS001",
funcPagePath: "Collection",
name: "商户自助入网",
type: "商户管理"
},
]
var myDataHash = {}
myData.forEach(item => myDataHash[item.funcCode] = item)
ajaxData.forEach(item => {
let obj = myDataHash[item.funcCode]
if(obj) item.name = obj.name
})





最后加一个eval比较好一点。谢谢你。
前端学渣 2019-10-12
  • 打赏
  • 举报
回复
引用 1 楼 三岁打酱油 的回复:
用你写的数组循环匹配api返回的数据,然后获取到json对象,取值 json.name显示

var data = [
{ funcCode: '00001', funcPagePath: '/aaa', type: '1', name: '中文名A'},
{ funcCode: '00002', funcPagePath: '/bbb', type: '2', name: '中文名B'},
{ funcCode: '00003', funcPagePath: '/ccc', type: '3', name: '中文名C'}
]
var value = '00001' // api返回的值一定要等于数组对应的某个属性
var name = ''
data.forEach(item => {
if (item.funcCode === value) {
name = item.name
}
})
console.log('中文名: '+name)



你这样的话,要我前端显示一个后台传过来的值,然后去拿这一个值去找我定义的数组里面的数据。可是我是多个值来的。不能一个值
cn00439805 2019-10-12
  • 打赏
  • 举报
回复
我的代码时间复杂度:O(2n)
cn00439805 2019-10-12
  • 打赏
  • 举报
回复

//目标给后端传来的ajaxData添加上对应的name属性
    var ajaxData = [
        {
            funcCode: "P01BS001",
            funcPagePath: "Collection"
        },
        {
            funcCode: "P01BS019",
            funcPagePath: "fuvk"
        },
    ]
    let myData = [
        {
            funcCode: "a1",
            funcPagePath: "BaseInfo",
            name: "张三",
            type: "商户管理"
        }, {
            funcCode: "P01BS001",
            funcPagePath: "Collection",
            name: "商户自助入网",
            type: "商户管理"
        },
    ]
    var myDataHash = {}
    myData.forEach(item => myDataHash[item.funcCode] = item)
    ajaxData.forEach(item => {
        let obj = myDataHash[item.funcCode]
        if(obj) item.name = obj.name
    })
jio可 2019-10-12
  • 打赏
  • 举报
回复
用你写的数组循环匹配api返回的数据,然后获取到json对象,取值 json.name显示

  var data = [
    { funcCode: '00001', funcPagePath: '/aaa', type: '1', name: '中文名A'},
    { funcCode: '00002', funcPagePath: '/bbb', type: '2', name: '中文名B'},
    { funcCode: '00003', funcPagePath: '/ccc', type: '3', name: '中文名C'}
  ]
  var value = '00001' // api返回的值一定要等于数组对应的某个属性
  var name = ''
  data.forEach(item => {
    if (item.funcCode === value) {
      name = item.name
    }
  })
  console.log('中文名: '+name)

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧