dillonl

dillonl 查看完整档案

西安编辑  |  填写毕业院校  |  填写所在公司/组织 www.dillonl.cn 编辑
编辑

取半舍满,克己修身

个人动态

dillonl 提出了问题 · 1月17日

js 往数组中遍历三个元素

例如

let arr = [
    {id:0,title:'T1'},
    {id:1,title:'T2'},
    {id:2,title:'T3'},
    {id:3,title:'T4'},
    {id:4,title:'T5'}
    ...
]


let img = [
 {id:0,pic:'/01.png'},
 {id:1,pic:'/02.png'},
 {id:2,pic:'/03.png'}
 ...
]

将 img数组的图片往arr数组对象中循环插入,类似于这样

let arr = [
    {id:0,title:'T1',img:'/01.png'},
    {id:1,title:'T2',img:'/02.png'},
    {id:2,title:'T3',img:'/03.png'},
    {id:3,title:'T4',img:'/01.png'},
    {id:4,title:'T5',img:'/02.png'}
    ...
]

怎么操作??

关注 4 回答 4

dillonl 赞了回答 · 1月13日

js 多个对象插入同样的两个值,怎么操作,vue

DRY(Don’t Repeat Yourself)原则的目的是减少信息的重复,那怎么做到DRY,那就是代码和逻辑的重用,将代码和逻辑划分为更小的可重用单元,并通过在需要的地方调用代码来使用这些单元代码。不要编写过于冗长的方法,要进行逻辑拆分,并尽量使用现有方法中已经写好的逻辑。

针对你的代码,想要减少代码量,不用循环的话,可以把值写好,用Object.assign浅拷贝。想要再少,那就肯定是循环,循环的本质就是减少代码量

methods:{
    setItem(){
        let data = {data3: this.select1.Id, data4: this.select2.Id}
        Object.assign(this.NoticeForm, data)
        Object.assign(this.Archives, data)
        //...
        
        [this.NoticeForm, this.Archives, /*...*/].forEach(item => Object.assign(item, data))
    }
}

关注 2 回答 2

dillonl 提出了问题 · 1月13日

js 多个对象插入同样的两个值,怎么操作,vue

在vue中data里面有三个对象

data(){
 return{
   select1:{id:1012589435413},
   select1:{id:5487496874987},
   NoticeForm:{},
   Archives:{},
   ...... // 多个
 }
},
methods:{
    setItem(){
      let NoticeForm = this.NoticeForm;
      NoticeForm.data3 = this.select1.Id;
      NoticeForm.data4 = this.select2.Id;

      let Archives = this.Archives;
      Archives.data3 = this.select1.Id;
      Archives.data4 = this.select2.Id;
      
      ...... // 多个
    }
},

上面的这是最常见的操作,有没有更简便的方法可以实现,尽量不循环

关注 2 回答 2

dillonl 提出了问题 · 1月13日

js 多个对象插入同样的两个值,怎么操作,vue

在vue中data里面有三个对象

data(){
 return{
   select1:{id:1012589435413},
   select1:{id:5487496874987},
   NoticeForm:{},
   Archives:{},
   ...... // 多个
 }
},
methods:{
    setItem(){
      let NoticeForm = this.NoticeForm;
      NoticeForm.data3 = this.select1.Id;
      NoticeForm.data4 = this.select2.Id;

      let Archives = this.Archives;
      Archives.data3 = this.select1.Id;
      Archives.data4 = this.select2.Id;
      
      ...... // 多个
    }
},

上面的这是最常见的操作,有没有更简便的方法可以实现,尽量不循环

关注 2 回答 2

dillonl 提出了问题 · 2020-11-02

vue怎么将富文本里面的图片拼接上域名呢?

image.png

怎么将富文本里面的图片拼接上域名,正则不太会使用

关注 4 回答 3

dillonl 提出了问题 · 2020-10-21

vue中v-html为毛不解析img标签嘞

imageimage
vue的v-html解析不了后台传过来的富文本数据,带标签的那种

关注 2 回答 1

dillonl 提出了问题 · 2020-10-17

nuxt 里定义的meta等元数据中文变成了乱码?

我在nuxt.config.js里定义的meta数据,运行起来中文变成了乱码
image
image
不管打包还是生产环境meta里的中文都是乱码的,求解!!

关注 2 回答 1

dillonl 提出了问题 · 2020-10-01

vue导航切换子组件

image.png
怎么让点击导航列表然后在切换到下面对应的组件,由于导航和下面的是两个组件,下面的四个也是四个组件,如何切换,求思路。。

关注 3 回答 2

dillonl 提出了问题 · 2020-08-28

微信小程序语音播放点击当前让其他的停止怎么实现

微信小程序点击播放当前的语音,让其它的语音停止,并且再次点击切换播放喇叭,类似于微信语音播放那样,求解!!!!

关注 1 回答 0

dillonl 提出了问题 · 2020-08-26

微信小程序怎么播放的当前的语音??

最近在做即时聊天的项目,要用到发送语音,怎么判断是播放当前的语音,后台响应的没有id,所以没办法做判断,并且点击的时候让静态喇叭图片消失,改成动态喇叭GIF,哪位大神告知一下
image.png
image.png

play(e) {
    // console.log(e)
    let status = e.currentTarget.dataset.status
    let id = e.currentTarget.dataset.id
    playConent.src = e.currentTarget.dataset.src
    this.setData({
      num: id
    })
    console.log(id,this.data.num) 
    if(id == this.data.num){
      this.setData({
        isVoce: !this.data.isVoce,
        status:true
      })
      if (status == false) {
      
      } else {
        playConent.stop()
      }
      // 监听语音播放结束
      // playConent.onEnded(cb => {
      //   this.setData({
      //     isVoce: false
      //   })
      // })
    }else{
      this.setData({
        // isVoce:false
      })
    }
  },

关注 1 回答 0

认证与成就

  • 获得 0 次点赞
  • 获得 4 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 4 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2019-11-27
个人主页被 505 人浏览