push()函数失效归因

问题描述

今天在写数据处理时,需要实现把对象追加到数组中的效果,数据格式为

预约时间:3月1日/预约时段: 晚上/服务: 精洗/宿舍号: 海安/电话: 15816895886

预期的实现效果如下,

 包含多个对象的数组

但实际实现效果如下,

 对象为空值

代码复现


 错误归因

一、输入结果变成空值

为什么输入的对象变成了空值?经过一番排错,我发现了是this的问题

我尝试去掉order前的this,发现输出的值正确,因此把两段代码输出对比一下

 this.order中确实为没有输入的值,而当console(order)时,是我想要的结果

为什么this.order中不包含输入的数据?

由于初学前端,对于vue的原理还不是很深刻,先浅浅记录一下,相信后面会有更加深刻的理解


二、输出值为数字

在排错的时候写了其它代码测试,发现出现返回值为数字的情况,引用一下其他博主的回答:

js中push后变成了数字

一个数组如果你push是直接赋值的形式,会发现变成数字,其实是数组的长度,因为push的返回值是数组长度
例如:

let arr1=["lufei"] let arr2=arr1.push("suolong")
console.log(arr2)//输出的是2
//解决方案就是
let arr1=["lufei"]
arr1.push("suolong")
let arr2=arr1

作者:1f63b149cea0
链接:https://www.jianshu.com/p/c521bd2dc2b3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值