내가 배열을 가지고, 단순화 된 양식이 될 것이다 :자바 스크립트 | 배열에 값을 변경 간격을 만들기
let array = [
{id: 1, value: 0},
{id: 2, value: 0},
{id: 3, value: 0}
];
가 지금은 간격을 만들려면, 그 ID를 가진 개체의 값을 증가 : 매 3 둘째. 지금 내가하는 일은 array[2].value
인 개체를 대상으로하는 것입니다. 배열이 변경되지 않는 한이 작동합니다.
내가 사용하는 배열은 끊임없이 변화하고 있습니다. 즉, 요소가 비동기식으로 삭제되거나 추가된다는 의미입니다. 그런 경우 간격이 잘못된 요소를 가리키고 있습니다. 예제에서 요소 [1]을 삭제하면 간격이 정의되지 않은 요소 ([2])를 가리 킵니다.
연관 배열 (id를 인덱스로 사용)을 사용하려고했지만 Angular ngFor에서 더 이상 안정적으로 작동하지 않습니다. 동일한 이유로 인해 객체도 작동하지 않습니다.
인덱스가 변경된 경우에도 배열 요소의 속성을 변경하는 간격을 만들려면 어떻게해야합니까? 아니면 내 문제에 대한 더 나은 해결책이 있습니까?
그래서 당신은 키 대신 인덱스를 대상으로해야합니까? 이 같은? https://jsfiddle.net/9jqu6dhv/ – sinisake
이것은 작동합니다. 왜 그런지 설명해 주시겠습니까? 이 코드는 생성 된 새로운 배열 .filter의 값을 증가 시키지만, 어쨌든 이전 배열도 변경됩니까? : –
https://stackoverflow.com/questions/24304383/javascript-return-reference-to-array-item "새 배열을 반환하지만 배열의 항목은 여전히 같은 개체에 대한 참조입니다." – sinisake