Javascript Lodash返回键的_isEqual
如果正在比较的两个对象相等,我将返回以下代码:Javascript Lodash返回键的_isEqual,javascript,lodash,Javascript,Lodash,如果正在比较的两个对象相等,我将返回以下代码: let object = '{"menu_id":"3","menu_name":"eagle cake","qty":"1","special_instructions":"","modItems":[],"addOnItems":[]}; let
let object = '{"menu_id":"3","menu_name":"eagle cake","qty":"1","special_instructions":"","modItems":[],"addOnItems":[]};
let cartData = '[{"menu_id":"3","menu_name":"eagle cake","qty":"1","special_instructions":"","modItems":[],"addOnItems":[]},{"menu_id":"8","menu_name":"Regular Yum Burger","qty":"1","special_instructions":"","modItems":[],"addOnItems":[]}]';
cartData.some(
item => _.isEqual(
_.omit(item, ['qty']),
_.omit(object, ['qty']),
)
);
现在,如果这将返回true
,我想获取对象键以便可以对其进行操作
例如,当比较这两个变量时,我想返回键/索引0
,因为在cartData
中,键0
具有菜单id:3
,菜单名称:eagle cake
,等等
我想返回cartData
的键
或索引
,因为我将操作数量
等数据,我将在对象的数量
上添加该数据
谢谢 试试这个uu.findIndex(cartData,函数(o){return}.isEqual(o,object);})代码>
findIndex是一个函数,它接受数组并对其进行迭代,然后返回满足函数中条件的第一个索引。
在本例中,它将object
与数组的元素进行比较。那么您要在cartData中查找object的索引?我想您可以使用u.findIndex(cartData,function(o){return u.isEqual(o,object);});是的,与对象
变量匹配的cartData
的索引。嘿,你的工作非常完美,我只需编辑它以包含。.omit()
:)我将接受这一正确答案!多谢!