Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS筛选器orderBy-数字似乎被视为字符串_Javascript_Php_Angularjs - Fatal编程技术网

Javascript AngularJS筛选器orderBy-数字似乎被视为字符串

Javascript AngularJS筛选器orderBy-数字似乎被视为字符串,javascript,php,angularjs,Javascript,Php,Angularjs,我有一个对象数组,它是在PHP中从JSON获得的,所有属性在引号中以字符串的形式返回,所需的属性从API中以int的形式返回 我有一个特殊的属性,比如说'value',我使用parseInt为数组中的每个对象将其转换为整数类型。我想在此属性上应用orderBy$筛选器,但顺序按字典顺序返回,即9、88、8。。。等,据我所知,这意味着“值”被视为一个字符串 我应用过滤器的方式如下所示: scope.sortedItems = $filter('orderBy')(scope.sortedItems

我有一个对象数组,它是在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以返回整数,但仍然不走运。

这里似乎缺少一些括号。@elclanrs抱歉,这只是一个拼写错误。如果可以,只需在php中遍历数据并将其中的所有数据转换为int即可。,或者,即使您说您在js端转换了它们-有些可能仍然在某个地方未转换,就像您曾经转换过它们一样,btu稍后会使用oryginal值。@Seti我考虑过这样做,但对于PDO,似乎没有好的方法来实现这一点。@Seti我在PDO之外做过这件事。您认为始终提供JSON作为其实际类型是一个好主意吗?