私はオブジェクトを持っています
マーク: { 900:1.0、 822: 1.1, 804: 1.2, 786: 1.3, 768:1.4、 750:1.5、 732: 1.6, 714: 1.7, 696:1.8、 678: 1.9, 660: 2.0, 588:2.4、 570:2.5、 552:2.6、 534:2.7、 516:2.8、 498:2.9、 480: 3.0, 462:3.1、 444:3.2、 426:3.3、 408: 3.4、 390: 3.5, 372:3.6、 354:3.7、 336:3.8、 318:3.9、 300: 4.0 }
このオブジェクトはマーク リストです。900 点を獲得すると、1.0 点が与えられます。823 ポイントを獲得するまで、1 点を獲得します。822 ポイントで => マーク 1.1
現在690点です。指定されたポイントを持つ次のオブジェクト プロパティの両方を知りたいです。この例では、下: 678: 1.9、上: 696: 1.8 です。
プロパティでフル ヒットを取得することを除いて、つまり 570 ポイント 3 つのプロパティを返す必要があります: ローワー、アッパー、フル ヒットです。
これらの両方のプロパティを取得するにはどうすればよいですか?
ありがとうございました
編集:
その問題に対する私の解決策は次のとおりです。
var a = new Array(), r = 新しい配列()、 ポイント = 300; for(this.options.marks の var キー){ a.push({'points':key, 'mark': this.options.marks[key]}); } a.reverse(); for (var i=0; ia[i].points) { r.push({'points':a[(i-1)].points, 'mark': a[(i-1)].mark}); r.push({'points':points, 'mark': a[(i-1)].mark}); r.push({'points':a[i].points, 'mark': a[i].mark}); 壊す; }else if(points == a[i].points) { if(typeof a[i-1] != '未定義'){ r.push({'points':a[i-1].points, 'mark': a[i-1].mark}); }そうしないと{ r.push({'points':a[i].points, 'mark': a[i].mark}); } r.push({'points':a[i].points, 'mark': a[i].mark}); if(typeof a[i+1] != '未定義'){ r.push({'points':a[i+1].points, 'mark': a[i+1].mark}); }そうしないと{ r.push({'points':a[i].points, 'mark': a[i].mark}); } 壊す; } }
オブジェクト内のMrP およびGet next キーと値のペアは、オブジェクトが ECMAScript の仕様に従って順不同であるとも述べたので、配列を作成して反復してスローすることにしました。
誰かがこれに対するより良い解決策を持っているなら、それはいいでしょう