JavaScript 判断0非空问题

用uniapp做商城购物车时有个需求:类似饿了么中的选商品规格功能,只不过我们需求是多选,我是这么做的:
用一个对象记录选中的'规格',例如:

dataSet: {}

点击规格时,将当前被点击项v-for的index得到,判断dataSet是否有这个index,有代表删除,没有就代表需要添加

(index) {
  if(dataSet[index]) delect dataSet[index];
  else dataSet[index] = index;
}

非常完美,但测试时却无法删除索引为0的数据。
原因是Number类型的0等于false
image.png

只要将0索引转为字符串即可

截屏20200917 16.30.01.png

(index) {
	index = index + '';
  if(dataSet[index]) delect dataSet[index];
  else dataSet[index] = index;
}

当Number类型的0和空字符串''判断时,结果为true

截屏20200917 16.32.08.png

# js  JavaScript 
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×