이번에는 JS의 Object 값을 병합하는 방법과 JS의 Object 값을 병합할 때 주의사항에 대해 설명하겠습니다.
머리말: 일상적인 개발 작업에서 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] } }) } },
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
위 내용은 JS 개체 값을 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!