我有一个JavaScript对象数组:
var objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
Run Code Online (Sandbox Code Playgroud)
如何根据last_nomJavaScript中的值对它们进行排序?
我知道sort(a,b),但这似乎只适用于字符串和数字.我是否需要为toString()对象添加方法?
我有一个数组(请参阅下面的数组中的一个对象),我需要使用JavaScript对firstname进行排序.我该怎么做?
var user = {
bio: null,
email: "user@domain.com",
firstname: "Anna",
id: 318,
lastAvatar: null,
lastMessage: null,
lastname: "Nickson",
nickname: "anny"
};
Run Code Online (Sandbox Code Playgroud) 您如何按距离对这些对象进行排序.那么你有从最小距离到最大距离排序的对象?
Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Run Code Online (Sandbox Code Playgroud) 我有一个函数,它按名称排序当前和一组值/键对.
我想知道如何传递正在执行哪种键的键,这样我每次都可以调用相同的函数:
var arr = [{name:'bob', artist:'rudy'},
{name:'johhny', artist:'drusko'},
{name:'tiff', artist:'needell'},
{name:'top', artist:'gear'}];
sort(arr, 'name'); //trying to sort by name
sort(arr, 'artist'); //trying to sort by artist
function sort(arr) {
arr.sort(function(a, b) {
var nameA=a.name.toLowerCase(), nameB=b.name.toLowerCase();
if (nameA < nameB) //sort string ascending
return -1;
if (nameA > nameB)
return 1;
return 0; //default return value (no sorting)
});
}
Run Code Online (Sandbox Code Playgroud) 我有一个对象有一个名为z的属性:
function building(z)
{
this.z = z;
}
Run Code Online (Sandbox Code Playgroud)
假设我创建了这个对象的3个实例:
a = new building(5)
b = new building(2)
c = new building(8)
Run Code Online (Sandbox Code Playgroud)
然后将这些实例放入数组中
buildings = []
buildings.push(a)
buildings.push(b)
buildings.push(c)
Run Code Online (Sandbox Code Playgroud)
问题
如何根据它包含的对象的z属性对ASCENDING ORDER中的数组进行排序?排序后的最终结果应该是:
before -> buildings = [a, b, c]
sort - > buildings.sort(fu)
after -> buildings = [b, a, c]
Run Code Online (Sandbox Code Playgroud) 假设我有这样奇怪的代码:
var weirdo = {};
var ids = [10, 30, 11, 1, 4, 2];
var producers = ['Ford','Rover','BMW','Fiat','Renault','Mitsubishi'];
var n = producers.length;
for(var i=0; i<n; i++) {
weirdo[ids[i]] = producers[i];
}
// unknown code ???
Run Code Online (Sandbox Code Playgroud)
如何按值对怪物进行排序?它不是数组而不是,我不能在填充怪人之前对生产者进行排序.
有任何想法吗?
哦,关系id <=>制作人是非常重要的!