一.对于数组进行修饰返回一个新的数组;

01.描述。

我们工作常常会发现后端传过来的数据有些不仅仅键值为空,甚至都没有键,也就是我们常说的属性名,那我们就需要去修改一下,返回一个结构正常的数据;

02.代码。

const data = [
	{ id: 1, name: 'John' ,age:''},
    { id: 2 },
	{ name: 'Jane' },
	{ id: 3, age: 30 }
];
const filteredData = data.map(item => ({...item, id: item.id || '不存在',age:item.age||'不存在啊1'}));

03.总结。

使用map是一个很方便的数组方法,可以return一个新的数组,代码量大大减少,初学对于map不太了解的话,可以查看一下es6的语法,对于一下forEach两者的区别。

二.对于数组元素进行判断,元素是否为空字符。

01.描述。

比如说在默写情况,需要对于一些数据进行判断,全部的数据元素不能为空字符串,必须有内容才能往接口传参。

02.代码实现。

const data = [
		  { id: 1, name: 'John' ,age:''},
		  { id: 2 },
		  { name: 'Jane' },
		  { id: 3, age: 30 }
		];
		let tag = ''
		const ss = ['id','name','age']
		for(let i=0;i<data.length;i++){
			for(let j=0;j<ss.length;j++){
				if(data[i][ss[j]]===''){
					tag = true
					break
				}
			}
		}
		console.log(tag);

03.总结。

双重for循环是工作中非常常用的,必须重视。

路过的大咖,喜欢的话点个赞!万分感谢!

三.对于对象进行一次拷贝借助于Object.keys()方法;

01.描述。

当我们需要拷贝对象的时候需要知道这个对象是否为一个空对象,对其进行forIN遍历,往往会对其Object.keys()方法进行使用。

下边这个是父组件发送过来一组数据,对其进行监听且更改。

02.代码实现。

watch: {
    checkouts: {
      handler: function(newV, oldV) {
        const o = { ...newV }
        //把对象属性转为一个数组  (其实这一步也可以直接对o==={}进行判断也是可以的)
        const key = Object.keys(o)
        if (key.length > 0) {
          for (const key in o) {
            this.queryAdd[key] = o[key]
          }
        }
      },
      deep: true
    }
  },

03.总结。

我们往往可以通过对象跟数组相互结合用,能够处理好多的场景情况,好用的Object.keys()

四、一个数组变化影响另外一个数组(删除多个用for最好,forEach有些问题)

描述

列表已经存在就不用添加的时候显示了

代码 

tableData(val) {
        // 首先获取相应属性的数组
      const bankSourceList = val.map(v => v.bankSource)
        // 生命一个空数组
      const indexArr = []
        // 遍历一下看看存在哪些把下边拿出来
      this.bankOptions.forEach((v, i) => {
        if (bankSourceList.includes(v.value)) {
          indexArr.push(i)
        }
      })
        // 排一下序号
      indexArr.sort(function(a, b) {
        return a - b
      })
        // 循环给多个符合条件的去掉
      for (let i = indexArr.length - 1; i >= 0; i--) {
        this.bankOptions.splice(indexArr[i], 1)
      }
    }

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐