私はJSONデータを持っています。私はこれを持っていないなぜ私の比較関数はオブジェクトをソートせず、同じオブジェクト配列をソートしないのですか?
[
{
"name" : "",
"location" : "home"
},
{
"name" : "",
"location" : "office"
}
]
...
var = data [
{
"name" : "",
"location" : "home"
},
{
"name" : "",
"location" : "office"
}
]
私は私のデータをソートする(B)の比較機能を使用することはできません。データがJSON形式でない場合は、私が呼び出せるdata.sort(比較)を呼び出すことができないため、これは機能しません。このソリューションは、私のために動作しません Sort array of objects by string property value in JavaScript
:
私が使うことができれば、私はこの答えを使用することができます比較します。 FSを使用して.jsonからデータを開く必要があります。
let data = fs.readFileSync('./app/data/testData.json');
obj.locationをアルファベット順に使用してデータを整理したいと思います。私はこれを尋ねようとし、人々はそれをjavascriptソリューション(比較機能)を使ってマークしました。 JSONデータでこの関数をどのように使用することができるかを説明できる場合は、そのソリューションを使用します。私はそれを実装しようとしましたが、それは何もしないし、私のデータを同じ順序で残します。
JSONデータを比較機能を使用できる形式に変換できますか?
現時点ではコードを編集しています 私はこれを上記のソリューションに基づいており、データをソートしません。
function compare(a,b) {
if (a.location < b.location)
return -1;
if (a.location > b.location)
return 0;
return 0;
}
let dataSort = fs.readFileSync('./app/data/testData.JSON');
let dataParse = JSON.parse(dataSort);
dataParse.sort(compare);
console.log(dataParse);
これは、メニューでは何も並べていないまったく同じデータセットを返します。
オリジナルの質問:https://stackoverflow.com/questions/47187517/what-is-wrong-with-the-way-im-sorting-my-array-of-json-objects – Amy
何が間違っていた重複していますか? – Amy
'let data = fs.readFileSync( './app/data/testData.json');だけです。 data = JSON.parse(data); ' – dave