AngularJS过滤器orderBy - 数字似乎被视为字符串

时间:2014-12-28 19:52:49

标签: javascript php angularjs

我有一个对象数组,这些对象是从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以返回整数,但仍然没有运气。

0 个答案:

没有答案