React | JavaScript:需要比较两个对象
目标: 我需要检查表单是否已由用户编辑。如果是,那么我将调用axios.put()函数 问题: 因为在JS中,obj1={name:“John”}!==obj2={name:“John”} 我正在寻找一种更好的方法来比较两个对象 我的方式(似乎效率低下):React | JavaScript:需要比较两个对象,javascript,reactjs,react-native,react-redux,Javascript,Reactjs,React Native,React Redux,目标: 我需要检查表单是否已由用户编辑。如果是,那么我将调用axios.put()函数 问题: 因为在JS中,obj1={name:“John”}!==obj2={name:“John”} 我正在寻找一种更好的方法来比较两个对象 我的方式(似乎效率低下): const intialAddress={ 城市:“CA” 第1行:“testline1” 第2行:“测试行2” 电话:7772815615 pin:“1234” 国家:“CA” } const[address,setAddress]=use
const intialAddress={
城市:“CA”
第1行:“testline1”
第2行:“测试行2”
电话:7772815615
pin:“1234”
国家:“CA”
}
const[address,setAddress]=useState(initialAddress);
设addressFinalValue={};
常量地址值=(e)=>{
addressFinalValue[e.target.name]=e.target.value;
};
/***************************
*我做这件事的方式
**************************/
常量submitHandler=(e)=>{
e、 预防默认值();
setAddress(addressFinalValue);
如果(address.line1!==initialAddress.line1 | | address.line2!==initialAddress.line2 |等){
//axios.put()
}
};
返回(
//这里有多个输入字段//
保存地址并继续
)
我真的很感激你的帮助。提前感谢。如果您使用了lodash,那么它就简单多了
_.isEqual(obj1,obj2)
如果您使用了lodash,那么它就简单多了
_.isEqual(obj1,obj2)
我建议使用Lodash。检查这个 安装Lodash
npn install lodash --save
在文件中导入lodash
import _ from 'lodash';
比较你的对象
if(!_.isEqual(obj1, obj2) {
//perform your action
}
我建议用Lodash。检查这个 安装Lodash
npn install lodash --save
在文件中导入lodash
import _ from 'lodash';
比较你的对象
if(!_.isEqual(obj1, obj2) {
//perform your action
}
这回答了你的问题吗?谢谢但这不起作用。“diff”显示错误。因为它不是一个内置函数。你读过这个问题的全部答案了吗?这不是内置函数。您必须声明
diff
somewhere@KaranKumar当问题解决时,您不需要更新问题,当您将答案标记为已接受时,它将自动标记为“已解决”。这是否回答了您的问题?谢谢但这不起作用。“diff”显示错误。因为它不是一个内置函数。你读过这个问题的全部答案了吗?这不是内置函数。您必须声明diff
somewhere@KaranKumar当问题解决时,您不需要更新问题,当您将答案标记为已接受时,它将自动标记为“已解决”。