이 글에서는 주로 JavaScript의 객체 값 병합 방법을 자세히 소개하며, 이는 특정 참조 값을 가지고 있습니다. 관심 있는 친구들은 참고할 수 있습니다.
서문: 일상적인 개발 작업에서 우리는 js에서 모든 값을 복사하는 것을 접할 수 있습니다. 객체의 전자 개발을 통해 클라이언트를 개정하는 동안 직면한 설정 병합 문제일 수도 있습니다. 따라서 이 글에서는 이 문제에 대한 간략한 해결책을 제시할 것입니다.
소개: 예를 들어 obj1과 obj2가 있는 경우 obj2에서 동일한 필드와 동일한 깊이를 가진 obj1의 모든 값을 obj2에 복사해야 하며 obj2 필드 구조를 변경하지 않고 유지해야 합니다. 메소드를 호출합니다(ES6 작성 메소드 사용).
코드:
/** * 将src中的数据copy到dist中,并保留dist的结构 * @param src * @param dist */ copyValue(src, dist) { if (!src || typeof(src) !== 'object' || typeof(dist) !== 'object'){ return ; } let keys = Object.keys(dist) if (keys && keys.length > 0 && isNaN(keys[0])){ keys.forEach(key => { let value = dist[key] let srcVal = src[key] // 判断是不是对象,如果是则继续遍历,不是则开始赋值或忽略 if (value !== undefined && typeof(value) === 'object' && srcVal && typeof(srcVal) === 'object' && srcVal[0] === undefined){ copyValue(srcVal, value) } else if (value !== undefined && srcVal && typeof(value) == typeof (srcVal)){ // 如果源数据存在,并且类型一致,则开始赋值 dist[key] = src[key] } }) } },
위 내용은 제가 모두를 위해 정리한 내용입니다. 앞으로 모든 분들께 도움이 되길 바랍니다.
관련 기사:
Angular를 사용하여 테이블 필터링을 구현하는 방법
Chrome Firefox에는 디버깅 도구가 포함되어 있습니다( 세부 튜토리얼)
vue-cli+webpack을 사용하여 vue를 빌드하는 방법
JS를 사용하여 여러 스크롤 막대를 제어하여 동기적으로 스크롤하는 방법
webpack+express를 사용하여 다중 페이지 사이트 개발을 달성하는 방법
위 내용은 JavaScript를 사용할 때 개체 값을 병합하는 방법에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!