Javascript 带有自定义对象的typescript数组函数等于
我想使用数组函数(比如contains、unique)来检查与我自己的equals函数的相等性 例如:Javascript 带有自定义对象的typescript数组函数等于,javascript,arrays,typescript,Javascript,Arrays,Typescript,我想使用数组函数(比如contains、unique)来检查与我自己的equals函数的相等性 例如: let arr = [{id:1,..//some more},{id:2,..//some more},{id:3,..//some more}] 我希望通过使用仅检查id的equals函数,返回true: arr.contains({id:1,....}). 我试图通过搜索,但没有找到 我怎么做?通常,我如何在typescript中使用自己的equal函数(就像Java中的equals
let arr = [{id:1,..//some more},{id:2,..//some more},{id:3,..//some more}]
我希望通过使用仅检查id的equals函数,返回true:
arr.contains({id:1,....}).
我试图通过搜索,但没有找到
我怎么做?通常,我如何在typescript中使用自己的equal函数(就像Java中的equals函数一样)。您可以使用并测试返回的值是否未定义
例如:
let arr = [{id: 1, test: '1'}, {id: 2, test: '2'}];
const customEqual = i => i.id === 1;
const containsItemWithId1 = arr.find(customEqual) !== undefined;
您可以使用并测试返回的值是否未定义
例如:
let arr = [{id: 1, test: '1'}, {id: 2, test: '2'}];
const customEqual = i => i.id === 1;
const containsItemWithId1 = arr.find(customEqual) !== undefined;
不能更改数组函数(如
includes
或indexOf
)使用的相等性检查。但其他数组函数允许您使用回调:
-查找回调函数返回真实值的数组中的第一个条目find
-查找回调返回truthy值的数组中第一个条目的索引findIndex
-在调用回调函数的数组中循环,直到它返回一个truthy值(在这种情况下,some
停止并返回some
);如果回调从未返回真实值,true
将返回some
false
-循环调用回调函数的数组,直到它返回falsy值(在这种情况下,every
停止并返回every
);如果回调从未返回错误值,false
返回every
true
some
:
const a=[
{id:1},
{id:2},
{id:3}
];
log(“Has 1?”+a.some(e=>e.id==1));
log(“has4?”+a.some(e=>e.id==4))
您不能更改数组函数(如includes
或indexOf
)使用的相等性检查。但其他数组函数允许您使用回调:
-查找回调函数返回真实值的数组中的第一个条目find
-查找回调返回truthy值的数组中第一个条目的索引findIndex
-在调用回调函数的数组中循环,直到它返回一个truthy值(在这种情况下,some
停止并返回some
);如果回调从未返回真实值,true
将返回some
false
-循环调用回调函数的数组,直到它返回falsy值(在这种情况下,every
停止并返回every
);如果回调从未返回错误值,false
返回every
true
some
:
const a=[
{id:1},
{id:2},
{id:3}
];
log(“Has 1?”+a.some(e=>e.id==1));
log(“has4?”+a.some(e=>e.id==4))代码>“我想使用数组函数(如contains,unique)”JavaScript的数组类型没有。它确实有包括
(从ES2016开始)。“我试图通过搜索未找到…”真的吗?比如说,你找不到?其中列出了find
,forEach
。。。你不明白我的问题。函数名不重要,我知道数组的所有函数。我想将所有数组函数与我的自定义相等函数一起使用。我完全理解你的问题。你看了查找了吗?“我想使用数组函数(比如contains,unique)”JavaScript的数组类型没有。它确实有包括
(从ES2016开始)。“我试图通过搜索未找到…”真的吗?比如说,你找不到?其中列出了find
,forEach
。。。你不明白我的问题。函数名不重要,我知道数组的所有函数。我想将所有数组函数与我的自定义相等函数一起使用。我完全理解你的问题。您是否查看了find
?(如果上面的示例使用find
,请点击刷新。*哈欠*需要更多茶。)(如果上面的示例使用find
,请点击刷新。*哈欠*需要更多茶。)