Javascript Safari sort()函数不起作用
为什么我的代码在Iphone 6 ios 10及以上版本的Safari浏览器中不能正常工作。在支持表中,支持代码中使用的所有值!除此设备外,该代码在任何地方都有效。对于我的数据,我使用Wilddog,其工作原理与Firebase相同。数组看起来像{name:'Some',like:2,fav_count:5},{name:'Some2',like:3,fav_count:4},{name:'Some3',like:3,fav_count:4}。sort()函数出错Javascript Safari sort()函数不起作用,javascript,angularjs,safari,Javascript,Angularjs,Safari,为什么我的代码在Iphone 6 ios 10及以上版本的Safari浏览器中不能正常工作。在支持表中,支持代码中使用的所有值!除此设备外,该代码在任何地方都有效。对于我的数据,我使用Wilddog,其工作原理与Firebase相同。数组看起来像{name:'Some',like:2,fav_count:5},{name:'Some2',like:3,fav_count:4},{name:'Some3',like:3,fav_count:4}。sort()函数出错 var obj = $wi
var obj = $wilddogObject(ref); // get data from server
obj.$loaded()
.then(function(data) {
var _extends = Object.assign || function(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } }
return target; };
var moments = _.map(data, function(val, id) {
return _extends({}, val, {
id: id
});
});
$scope.ratePlaces = _.map(moments, function(place) {
// console.log(place);
if (place != null) {
if (place.like != undefined) {
function rating(like, favs) {
var parseFavs = parseInt(favs);
var parseLike = parseInt(like);
var newRate = parseLike * 0.5 + parseFavs;
return newRate;
}
place.rate = rating(place.like, place.fav_count);
}
}
return place
})
console.log($scope.ratePlaces);
list($scope.ratePlaces)
})
function list(r) {
r.shift();
r.shift();
r.shift();
r.sort((a, b) => {
if (a.rate != null || a.rate != undefined || a.rate != 'daylife' || !a.name) {
return a.rate - b.rate;
} else {}
})
r.sort((a, b) => {
if (a.rate != null || a.rate != undefined || a.rate != 'daylife' || !a.name) {
let rateA = a.rate;
let rateB = b.rate;
if (rateA < rateB) {
return -1;
}
if (rateA > rateB) {
return 1;
}
return 0;
}
});
$scope.posts = r.reverse();
var obj=$wilddogObject(ref);//从服务器获取数据
对象$loaded()
.then(功能(数据){
var _extends=Object.assign | |函数(目标){
for(var i=1;i{
如果(a.rate!=null | | | a.rate!=undefined | | a.rate!=“daylife”| | a.name){
返回a.rate-b.rate;
}else{}
})
r、 排序((a,b)=>{
如果(a.rate!=null | | | a.rate!=undefined | | a.rate!=“daylife”| | a.name){
设rateA=a.rate;
设rateB=b.rate;
如果(比率A<比率B){
返回-1;
}
如果(比率A>比率B){
返回1;
}
返回0;
}
});
$scope.posts=r.reverse();
您在所有设备上以及在设备出现故障的地方得到的结果是什么?您能在问题中添加这一点吗?您期望得到什么?首先,对象看起来甚至没有rate
属性,其次sort
方法应该总是返回一些东西您在所有设备上得到的结果是什么设备和设备中出现故障的地方?你能在问题中添加这些吗?你期望什么?首先,对象看起来甚至没有rate
属性,其次sort
方法应该总是返回一些东西