Vuex와 array.findIndex: 일치하는 항목을 찾을 수 없습니다.
array.findIndex가 동작하지 않는 것 같고, 찾고 있는 어레이에 일치하는 것이 있는 것은 확실합니다만, findIndex는 항상 -1을 반환합니다.
let index = state.bag.findIndex((it) => {
it.id === item.id
console.log(it.id,it.id===item.id,item.id);
})
console.log(index);
다음 콘솔로그가 표시됩니다.
00SEEB0BASU900XS false 00SEEB0BASU900S index.js:48
00SEEB0BASU900S true 00SEEB0BASU900S index.js:48
00SEEB0BASU900M false 00SEEB0BASU900S index.js:48
00SEEB0BASU900L false 00SEEB0BASU900S index.js:48
00SEEB0BASU900XL false 00SEEB0BASU900S index.js:48
00SEEB0BASU900XXL false 00SEEB0BASU900S index.js:48
-1 index.js:50
보시는 바와 같이 truthy 값이 발견되므로 오브젝트 배열의 인덱스가 반환됩니다.
저는 정말 당황스러웠고 어떤 도움도 감사하게 생각합니다.
편집:
FindIndex의 MDN 예에서는 RETURN을 추가해도 RETURN이 없습니다.
const fruits = ["apple", "banana", "cantaloupe", "blueberries", "grapefruit"];
const index = fruits.findIndex(fruit => fruit === "blueberries");
console.log(index); // 3
console.log(fruits[index]); // blueberries
콜백 내의 조건을 반환하는 것을 잊어버렸기 때문에
let index = state.bag.findIndex((it) => {
return it.id === item.id
//console.log(it.id,it.id===item.id,item.id);
})
let index = state.bag.findIndex((it) => {
return it.id === item.id
console.log(it.id,it.id===item.id,item.id);
})
console.log(index);
언급URL : https://stackoverflow.com/questions/61571305/vuex-and-array-findindex-cannot-find-a-match
'programing' 카테고리의 다른 글
Vue2의 다른 구성 요소에서 구성 요소 업데이트 (0) | 2022.07.31 |
---|---|
Vue 사용.여러 개의 중첩된 객체가 있는 객체에 설정 (0) | 2022.07.31 |
자바 제네릭스의 'E', 'T', '?'의 차이점은 무엇입니까? (0) | 2022.07.30 |
키가 서로 다른 여러 v-for 루프로 인해 여전히 중복 키 오류가 발생함 (0) | 2022.07.30 |
Vue 2 및 JSX를 사용하여 사용자 지정 이벤트 바인딩 (0) | 2022.07.30 |