我有一个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
不是字符串类型,它仍会引发错误boolean
,Number
不是该方法.您可以使用它typeof
来验证是否value
为字符串.