B
ByteNote

导航

首页文章工具关于

© 2025 ByteNote

B
ByteNote

JS 深度 merge 一个对象

Aug 2, 20229 min read
const merge = (target, source) => {
  const keys = Object.keys(target);
  keys.forEach(k => {
    if (source.hasOwnProperty(k)) {
      if (Object.prototype.toString.call(source[k]) === '[object Object]') {
        merge(target[k], source[k]);
      } else {
        target[k] = source[k];
      }
    }
  });
};

相关文章

Git Merge Mastery: Unveiling the Differences Between Merge, Rebase, and Fast-Forward

Git merging strategies include merge (preserving history), rebase (clean history), and fast-forward (strict, linear merges), each suited for different team collaboration needs.

Solving Local Network Access Issues with DDNS A Comprehensive Guide

This guide provides multiple solutions, including enabling NAT Loopback, using a hosts file, setting up a local DNS server with Dnsmasq, or implementing split-horizon DNS, to resolve the issue of accessing local network services via a Dynamic DNS domain name from within the same network.

Complete Guide to WireGuard VPN Setup Server and All Clients

This comprehensive guide provides step-by-step instructions for setting up a WireGuard VPN server using Docker, configuring clients on Linux, MacOS, mobile devices, and Windows, and managing the server and clients for optimal security and performance.