0
  var person = function(name,video,twitter,facebook,number){
     this.name=name;
     this.video=video;
     this.twitter=twitter;
     this.facebook=facebook;
      this.likes= number;
     this.dislike=0;
     this.addlike=addlike;
     this.adddislike=adddislike;
    var x=0;
function addlike(){var cap = x +=1; this.likes= cap;}

function adddislike(){var cap = x +=1; this.dislike = cap;}

}

これらは、オブジェクト コンストラクターで作成された私のオブジェクトです。

 var  nana =  new person("Shirley","G-ma Stuff", "shirley Tweet","shirley face",100);
 var  rj = new person("Ronald ", "java", "Ronald Tweet","Ronald" , 72);
 var  tori = new person( "Toir ", "Cars","mom tweet","mom face",48);
 var ronald = new person("Ronald","Bear","Ronald Twitter","Ronald Facebook",12);

これは、私が作成し、配列内の位置を割り当てた私の配列です:

 var array = [];
 array[0]=ronald;
 array[1]=tori;
 array[2]=rj;
 array[3]=nana;

しかし、それらを最大数でソートする方法がわかりません。

4

3 に答える 3

0

人物オブジェクトのコードを教えていただければ、正確なコードを教えていただけますが、次のようなことができます

var nana = new person("Shirley", "G-ma Stuff", "shirley Tweet", "shirley face", 100);
var rj = new person("Ronald ", "java", "Ronald Tweet", "Ronald", 72);
var tori = new person("Toir ", "Cars", "mom tweet", "mom face", 48);
var ronald = new person("Ronald", "Bear", "Ronald Twitter", "Ronald Facebook", 12);

var asdf = [nana, rj, tori, ronald];
asdf.sort(SortByPoint);

関数呼び出しSortByPointが必要です

function SortByNumber(a, b) {
    var pointA = a.likes;
    var pointB = b.likes;

    return ((pointA > pointB) ? -1 : ((pointA < pointB) ? 1 : 0));
}

編集:

更新された質問に合わせて更新

于 2013-07-31T05:49:28.347 に答える