2017-10-07 17 views
0

노조는 어떻게 작동합니까? 내 배열이 무작위 순서로 결합 된 이유는 무엇입니까?왜 로다시 노조는 내 물건을 섞는다 고 했습니까?

나는 excatly 동일한 나의 result 순서로 조합 할 수있는 방법이 있습니까? 일반 객체 속성 이름은 특정 순서로 저장되지 않습니다 자바 스크립트 ids

result = { 
-KvpYbfRfqMXLOsGH7fh : "-KvpYbfRfqMXLOsGH7fh", 
-KvpYcMTcRQk5KYawqdR : "-KvpYcMTcRQk5KYawqdR", 
-KvpYcjvkVfdC9a4Q9FO : "-KvpYcjvkVfdC9a4Q9FO", 
-KvpYd9-1mbm016eV4MZ : "-KvpYd9-1mbm016eV4MZ", 
-KvpYduO7YXkW1DoEQak : "-KvpYduO7YXkW1DoEQak", 
-KvpYeMtsePxGrvdoBEd : "-KvpYeMtsePxGrvdoBEd", 
-KvpYfPluPG5q4e_D35w : "-KvpYfPluPG5q4e_D35w", 
-KvpYgGSQsrpR0g_084h : "-KvpYgGSQsrpR0g_084h", 
-KvpYgpOGrwjnxy9F7SF : "-KvpYgpOGrwjnxy9F7SF", 
-KvpYhU_NXWYIfC2H-UM : "-KvpYhU_NXWYIfC2H-UM", 
} 
    const result = Object.keys(action.response.result) 
    return { 
     ...state, 
     ids: _.union(result, state.ids), 
    } 
+0

그것은 순서가 유지되지 않도록'Set'를 사용하여 개체를 저장하는 데 사용할 수 있습니다. – pvg

+1

문제를 재현 할 수있는 코드 및 데이터를 제공해주십시오. 이미지는 거의 사용되지 않습니다. – trincot

+1

설명서에 따르면 SameValueZero (http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)가 사용됩니다. 문자열이므로 SameValueNonNumber (http://ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber)로갑니다. "x와 y가 정확히 동일한 코드 단위 (대응하는 인덱스에서 길이와 코드 단위가 같음)이면 true를 반환하고 그렇지 않으면 false를 반환합니다." 따라서 알파벳 순서는 없습니다. – Walk

답변

0

result

.

당신은 Map, Set 또는 Array 특정 순서

let arr = ["a", "b", "c"]; 
let map = new Map(); 
arr.forEach(value => map.set(value, {[value]:value})); 

let b = map.get("b"); 

let res = [...map.values()]; 

JSON.stringify(b) === JSON.stringify(res.find(prop => Object.keys(prop).pop() === "b")); 

JSON.stringify(b) === JSON.stringify(res[1]); 
+0

이 Object.keys (o) .sort()를 사용하여 예상 한 결과를 얻었습니다. 이것을 사용해도 될까요? – vzhen

+0

어레이가 충분하면 yes입니다. – guest271314