javascript - 在函数中使用 .includes 方法

标签 javascript

我有一个对象 jsonRes[0] 包含需要根据条件删除的值。以下工作用于删除字符串化对象中的 null、缺失值和等于零的值:

function replacer(key, value) {
          // Filtering out properties
          if (value === null || value === 0 || value === "") {
            return undefined;
          }
          return value;
        } 

JSON.stringify(jsonRes[0], replacer, "\t")

但是,当我使用 includes 方法添加条件时,我收到一个错误:

function replacer(key, value) {
          // Filtering out properties
          if (value === null || value === 0 || value === "" || value.includes("$")) {
            return undefined;
          }
          return value;
        } 


Uncaught TypeError: value.includes is not a function

为什么会这样,是否有解决方法?

最佳答案

您可以使用 String.indexOf()而不是 String.includes , 因为它在 ES6 中可用,而在 IE 中完全不支持。

typeof value == "string" && value.indexOf('$') > -1

另请注意,如果 value 不是字符串类型,它仍会引发错误 booleanNumber 不是方法。您可以使用 typeof验证 value 是否为字符串。

关于javascript - 在函数中使用 .includes 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41820770/

相关文章:

javascript - ASP.NET MVC 如何在javascript中获取所选对象的某些字段?

javascript - 如何在 JavaScript 中使用 for 循环将所有正整数添加到 'sum' ?

javascript - 将参数传递给包含多个命令的 npm run 脚本

javascript - 悬停在导航栏上时下拉菜单?

javascript - 使用 Uploadify 时无法触发 onComplete 和 onCompleteAll 事件

javascript - 如何检查已使用了多少离线存储

javascript - 我应该使用 ext.js 中的另一个事件吗?

javascript - 是否可以获取 props 并将其作为参数传递给函数?

javascript - 网站在加载时看起来放大了

javascript - 仅当在 Angular 中找到匹配项时才显示搜索结果(Ng-Repeat)