Array上不存在Angular2 find

时间:2016-10-14 19:49:26

标签: javascript angular ecmascript-5 typescript2.0

我有一个使用typescript 2.0.4的angular2项目(2.0.0)。

我有这段代码:

var assignedIds: Array<string> = this.AssignedUsers.map(u => u.id);
var users = this.AllUsers.filter(all => all.id != assignedIds.find(id => id == all.id));

我在查找方法上遇到错误:

  

财产&#39;找到&#39;类型&#39;字符串[]&#39;。

上不存在

我在几个阵列上得到这个错误 - 不仅仅是这个。一对是数字[],一个是字符串[],一个是自定义对象。

如果我编译成es6它可以工作,但我需要定位es5。

我需要一些打字吗?

1 个答案:

答案 0 :(得分:2)

ES5中不存在

find(),因此您收到错误消息。您可以使用polyfill解决此问题(如评论中所述)。

但是,你实际上应该只是你的代码:

var assignedIds: Array<string> = this.AssignedUsers.map(u => u.id);
var users = this.AllUsers.filter(all => assignedIds.some(id => id == all.id));