我有一个对象数组,这些对象是从PHP中的JSON获得的,所有属性都以字符串形式返回(在引号中)所需的属性从API返回为int。
我有一个特殊的属性让我们说'value'我将它转换为数组中每个对象的整数类型(使用parseInt())。我想在这个属性上应用orderBy $过滤器,但是顺序以字典顺序返回(即9然后是88然后是8 ......等),据我所知,“值”被认为是一个字符串。
我应用过滤器的方式如下:
scope.sortedItems = $filter('orderBy')(scope.sortedItems, sortItems, true);
使用函数sortItems:
var sortItems = function(item) {
return [item[scope.orderProp], mapping[item.item_rarity]];
};
应用二级排序以及主要排序。
我很困惑,因为每次应用过滤器时我都会在每个属性上运行isNaN,对于每个对象,它都会返回false(是一个数字)。有一些空值,但我认为这不会影响任何东西?
编辑:修改返回的JSON以返回整数,但仍然没有运气。