js数组中存储对象判断
数组中存对象容易出现的问题:同一个对象存下标为0的跟下标为1的位置。判断结果会不一样。问题出在数组中存储的是对象的引用地址。
我遇到的问题是数组中存储对象(该对象含有多个属性),需要判断其中每个属性的值都一致。在使用===,转换为字符串比较。Object.is()等方法比较均不理想后。考虑用Underscore.js提供的_isEqual() 深度比较属性的方法。这个方法在比较对象属性上很不错。最后没有考虑使用这个方法,问题是逻辑太麻烦了。简化后的方法是比较对象中不会变的一个属性值字符串。
得到的经验教训是,三思而后行。虽然考虑的很多,想法很饱满。但是用之前用过的方法简单就可以实现。好处是测试了好多的方法也是大开眼界。