javaScript中为什么字符串相减是NAN Why is “string” - “string” NaN?
发现这个问题的背景是后端返回数据根据组排序,然后每个组中的对象按照某个字段进行排序显示
一开始是这样的
并不生效
修改后
排序生效。
可以看到只是把入参提取出变量,就可以了,那么为什么之前写的不能识别
原因就出在 a.code-b.code 这个字符串下相减的操作是一个 NAN 导致sort 入参错误
a.code 和b.code 两个属性都是字符串,根本原因出在 "-" 减号。减号操作得数最终都会变成数组,这个NAN也会被判别为数字
参考链接:https://www.codenong.com/37301296/
所以在排序时 比较字符串得时候不可以直接相减。
如有差错,请各位指正