如何使用jQuery创建任何对象的克隆

如何使用jQuery创建任何对象的克隆

在这篇文章中,我们将学习如何使用jQuery创建一个对象的克隆。这可以通过jQuery的extend()方法来实现。extend()方法是用来将多个对象的内容合并到作为第一个参数传递的对象中。这可以用来克隆一个数组,因为我们可以传递一个空对象作为第一个参数。

一个额外的参数deep可以用来对对象进行深度拷贝。这将使方法以递归的方式复制对象,当一个复杂的、嵌套的对象需要被克隆时,这很有帮助。当需要进行深度拷贝时,这个参数必须作为第一个参数传递。

语法:

// Create a clone of the object using the extend() method 
let newObj = jQuery.extend({}, obj);

// Create a deep clone of the object using the deep parameter
let newDeepObj = jQuery.extend(true, {}, obj);

下面的例子说明了上述方法。

例子1:在这个例子中,我们将使用这个方法创建一个对象的克隆。

<!DOCTYPE html>
<html>
  
<head>
    <script src=
        "https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <h1 style="color: green">GeeksforGeeks</h1>
    <b>How to create clone of any object using jQuery?</b>
  
    <p>The object to be cloned is:</p>
  
    <pre>
    { name: "Sam", age: 5, date: Date.now() }
    </pre>
  
    <p>Please check the console for the cloned object</p>
  
    <script>
        let obj = { name: "Sam", age: 5, date: Date.now() };
  
        // Clone the object using
        // the extend() method
        let newObj = jQuery.extend({}, obj);
  
        // Print both the objects
        console.log("Original Object", obj);
        console.log("Clone Object", newObj);
    </script>
</body>
  
</html>

输出:

如何使用jQuery创建任何对象的克隆?

示例2:在这个方法中,我们将通过使用deep参数来创建一个对象的深度克隆。

<!DOCTYPE html>
<html>
  
<head>
    <script src=
        "https://code.jquery.com/jquery-3.6.0.min.js">
    </script>
</head>
  
<body>
    <h1 style="color: green">GeeksforGeeks</h1>
    <b>How to create clone of any object using jQuery?</b>
  
    <p>The object to be cloned is:</p>
  
    <pre>
    {
        name: "Logs",
        content: ["Error", "Warning", "Information" ],
        stats: {
            isDebug: true,
            lastError: "Fatal Error 03",
            lastInfo: "Consoled"
        }
    };
    </pre>
  
    <p>Please check the console for the cloned object</p>
  
    <script>
        let obj = {
            name: "Logs",
            content: ["Error", "Warning", "Information"],
            stats: {
                isDebug: true,
                lastError: "Fatal Error 03",
                lastInfo: "Consoled",
            },
        };
  
        // Create a deep clone of the object
        // by using the deep parameter
        let newObj = jQuery.extend(true, {}, obj);
  
        // Print both the objects
        console.log("Original Object", obj);
        console.log("Clone Object", newObj);
    </script>
</body>
  
</html>

输出:

如何使用jQuery创建任何对象的克隆?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

jQuery 方法