.Map功能区别javascript打字稿

时间:2017-03-01 13:37:12

标签: javascript typescript

我将javascript代码更改为应用程序中的typescript并注意以下问题:

使用javascript代码:

var x= $.makeArray($(comparisonObjects)
            .map(function (i, o) {
            if (o.Id !== IdtoRemove) {
                return o;
            }
            return null;
        }));

这不适用于打字稿,因为" o"被声称是"元素"的对象。类型,即使它实际上是一个包含Id的对象。

请注意,我不希望访问元素' id属性。 ComparisonObjects已经是一个业务对象数组,它们有自己的Id属性。

所以实际问题是我被迫将我的对象视为一个元素,而不允许我访问该对象。

在打字稿中处理这个问题的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您正在使用普通数组,则不需要创建jQuery对象:

var x = comparisonObjects.filter(function(object) {
  return object.Id !== IdToRemove;
});

那将为您提供一个新数组,其中只包含满足您条件的对象。数组的本地.map()函数不会像jQuery .map()那样关注返回值。

相关问题