Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将内容从一个对象复制到另一个对象时,按键名排除特定的键/值对_Javascript - Fatal编程技术网

Javascript 将内容从一个对象复制到另一个对象时,按键名排除特定的键/值对

Javascript 将内容从一个对象复制到另一个对象时,按键名排除特定的键/值对,javascript,Javascript,下面的示例工作正常,产生了所需的输出。但是,我想知道是否有一种更简洁的方法来执行此复制操作,即从数据对象中排除创建的键和更新的键的键/值对 const actionMode = 'update'; // 'create'; const dataFromParent = { itemid: "104", itemname: "insurance",

下面的示例工作正常,产生了所需的输出。但是,我想知道是否有一种更简洁的方法来执行此复制操作,即从
数据
对象中排除创建的
键和更新的
键的键/值对

        const actionMode = 'update';        // 'create';

        const dataFromParent = {
            itemid: "104",
            itemname: "insurance",
            itemtype: "expense",
            unitofmeasure: "$/yr",
            created: "2021-04-14 05:59:30.097",
            updated: "2021-04-14 05:59:30.097"
        }

        const data = { ...dataFromParent }; // make a shallow copy to avoid changing original object values

        if (actionMode == 'update') {
            delete data.created;
            delete data.updated;
        }

        console.log(JSON.parse(JSON.stringify(dataFromParent)));
        console.log(JSON.parse(JSON.stringify(data)));
控制台输出:

使用@vdegenne于2018年11月23日发布的建议,我尝试:

这会导致“编译失败”结果,并出现以下错误:

编辑:
此修改提供了所需的结果,并且没有任何
“无未使用的变量”
错误:

        let data = {};

        if (actionMode == 'update') {
            // eslint-disable-next-line no-unused-vars
            const { created, updated, ...rest} = { ...dataFromParent };
            data = rest;
        }
您可以使用,这样它将在单个对象中指定
已创建的
已更新的
值,以及其他指定的属性

在使用VUE时,请在
script
中的所有导入之前,在
x.VUE文件中添加以下代码段

如果错误仍然存在,则更改package.json中的
ESLint
config

"rules": {
   "no-unused-vars": "off"
}
const dataFromParent={
itemid:“104”,
项目名称:“保险”,
itemtype:“费用”,
计量单位:“$/年”,
创建:“2021-04-1405:59:30.097”,
更新:“2021-04-1405:59:30.097”,
};
const{created,updated,…rest}=dataFromParent;//创建浅复制以避免更改原始对象值
常数数据=静止;
控制台日志(数据)您可以使用,以便它将
创建的
更新的
值以及其他属性分配到单个对象中

在使用VUE时,请在
script
中的所有导入之前,在
x.VUE文件中添加以下代码段

如果错误仍然存在,则更改package.json中的
ESLint
config

"rules": {
   "no-unused-vars": "off"
}
const dataFromParent={
itemid:“104”,
项目名称:“保险”,
itemtype:“费用”,
计量单位:“$/年”,
创建:“2021-04-1405:59:30.097”,
更新:“2021-04-1405:59:30.097”,
};
const{created,updated,…rest}=dataFromParent;//创建浅复制以避免更改原始对象值
常数数据=静止;

控制台日志(数据)您可以使用排列来排除属性

const dataFromParent={
itemid:“104”,
项目名称:“保险”,
itemtype:“费用”,
计量单位:“$/年”,
创建:“2021-04-1405:59:30.097”,
更新:“2021-04-1405:59:30.097”
}
const{created,updated,…data}={…datafrompent};

控制台日志(数据)您可以使用排列来排除属性

const dataFromParent={
itemid:“104”,
项目名称:“保险”,
itemtype:“费用”,
计量单位:“$/年”,
创建:“2021-04-1405:59:30.097”,
更新:“2021-04-1405:59:30.097”
}
const{created,updated,…data}={…datafrompent};

控制台日志(数据)
你刚刚复制了我的答案..兄弟,看看我7分钟前的回答时间
和你的
2分钟前的回答时间
。是的,“没有未使用的变量”错误仍然存在。我希望找到一种不关闭“无未使用变量”的方法,因为我发现这在大多数情况下都很有用。编辑时间为2分钟前。您是否使用了
vue
或其他框架您刚刚复制了我的答案。兄弟,看看我7分钟前回答的
7分钟前回答的时间和您的
2分钟前回答的时间。
。是的,“无未使用变量”错误仍然存在。我希望找到一种不关闭“无未使用的变量”的方法,因为我发现这在大多数情况下都很有用。2分钟前编辑。您是否使用了
vue
之类的框架?这可以回答您的问题吗?有点由于没有进口造成问题,我不得不想办法把这句话放在哪里。我将编辑原始问题以显示哪些更改起作用。添加注释后是否起作用?是的,这会处理
“无未使用的变量”
错误。好极了这回答了你的问题吗?有点由于没有进口造成问题,我不得不想办法把这句话放在哪里。我将编辑原始问题以显示哪些更改起作用。添加注释后是否起作用?是的,这会处理
“无未使用的变量”
错误。好极了
"rules": {
   "no-unused-vars": "off"
}