问答

js怎么改变数组对象中的指定的值

作者:admin 2021-06-07 我要评论

[{ path: '/demand', name: 'demand', meta: { icon: '_xuqiu', title: '需求' }, component: Main, children: [{ path: 'my_demand', name: 'my_demand', meta:...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
[{
  path: '/demand',
  name: 'demand',
  meta: {
    icon: '_xuqiu',
    title: '需求'
  },
  component: Main,
  children: [{
    path: 'my_demand',
    name: 'my_demand',
    meta: {
      icon: '_icon_xuqiushenpi',
      title: '我的需求单'
    },
    component: () => import('@/view/demand/my_demand.vue')
  },
  {
    path: 'materiel_demand',
    name: 'materiel_demand',
    meta: {
      icon: '_wuliaox',
      title: '物料需求单'
    },
    component: () => import('@/view/demand/materiel_demand.vue')
  }]
  }]

可以根据下面的my_demand,改名对应上面的title吗?如上面的name为my_demand的meta的title改为1

            let json = [{
              'my_demand': '1',
            }, {
              'materiel_demand': '2',
            }]
###
const jsonMap = json.reduce((map, it) => {
    Object.keys(it)
        .forEach(key => map[key] = it[key]);
    return map;
}, {});

data
    .flatMap(m => m.children)
    .forEach(m => {
        const title = jsonMap[m.name];
        if (title) {
            m.meta.title = title;
        }
    });

console.log(jsonMap);
console.log(JSON.stringify(data, null, 2));
###
let _json = json.reduce((obj, cur) => {
    let key = Object.keys(cur)[0];
    obj[key] = cur[key];
    return obj;
}, {});

function replaceObj(arr = []) {
    return arr.map(item => {
        if (_json[item.name]) {
            item.meta.title = _json[item.name];
        }
        if (item.children) {
            item.children = replaceObj(item.children);
        }
        return item;
    });
}
console.log(replaceObj(data));

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • js怎么改变数组对象中的指定的值

    js怎么改变数组对象中的指定的值

  • 如何理解“拜占庭将军问题”中的OM/SM

    如何理解“拜占庭将军问题”中的OM/SM

  • 如何双系统都可以让apache使用同一个分

    如何双系统都可以让apache使用同一个分

  • gulp 如何 打包.module.scss

    gulp 如何 打包.module.scss

腾讯云代理商
海外云服务器