배열 두개 비교해서 배열값 추가, 삭제
script 부분
const inf = ref({
arr1: [1, 2, 3, 4, 5],
arr2: [1, 2, 3, 4, 5],
val: ["ㄱ", "ㄴ", "ㄷ", "ㄹ", "ㅁ"]
})
// arr2에서 특정 값 제거. [1, 2, 4, 5]
inf.value.arr2.splice(2, 1);
// arr2에서 배열 값이 제거되어서 arr1이 더 많을 때
if(inf.value.arr1.length > inf.value.arr2.length) {
// arr1과 비교해서 없는 값의 index를 찾고, 대응하는 val에서 값 제거하기
inf.value.arr1.some((ele, idx) => {
// arr1에서 arr2에 없는 값 찾기 = false 인거
if(!inf.value.arr2.includes(ele)) {
// arr2에 없는 arr1의 값의 index를 이용해 val의 값 제거하기
inf.value.val.splice(idx, 1);
console.log(inf.value.val);// val에서 대응하는 값 제거됨. ["ㄱ", "ㄴ", "ㄹ", "ㅁ"]
}
})
}
//
const imf = ref({
ar1: [1, 2, 3, 9],
ar2: [1, 2, 3, 9],
va: ["ㄱ", "ㄴ", "ㄷ", "ㅈ"]
})
// ar2에 특정 값 추가. [1, 2, 3, 7, 9]
imf.value.ar2.splice(3, 0, 7);
// ar2에 배열 값이 추가되어서 ar2가 더 많을 때
if(imf.value.ar2.length > imf.value.ar1.length) {
// ar2와 비교해서 없는 값의 index를 찾고, 대응하는 va에 값 추가하기
imf.value.ar2.some((ele, idx) => {
// ar2에서 ar1에 없는 값 찾기 = false 인거
if(!imf.value.ar1.includes(ele)) {
// ar1에 없는 ar2의 값의 index를 이용해 va 값 추가하기
imf.value.va.splice(idx, 0, "ㅅ");
console.log(imf.value.va);// va에서 대응하는 값 추가됨. ["ㄱ", "ㄴ", "ㄷ", "ㅅ", "ㅈ"]
}
})
}
여러 날짜를 관리할 때 some()과 includes()를 사용하여 if ~ else 등으로 적용하면 유용할듯
끝.