【发布时间】:2018-02-07 02:02:14
【问题描述】:
我正在尝试从数组中过滤数据,但它会抛出一个错误提示
filter() 不起作用
代码如下:
var selectedObject = [];
selectedObject= JSON.stringify(formsDataSource.data());
//console.log(selectedObject);
//var filtered = $.grep(selectedObject, function (el) {
// return el.po_order_no = 18;
//});
//console.log((filtered));
if (selectedObject == undefined) {
alert("Undefined");
} else {
var data= selectedObject.filter(function (element) { return element.po_order_no = "18"; })
alert("" + data);
}
我尝试了很多东西,但它仍然抛出错误。有什么帮助吗?
【问题讨论】:
-
selectedObject= JSON.stringify(formsDataSource.data())似乎暗示selectedObject是一个字符串。字符串没有.filter方法。尽管我注意到您在将其声明为空数组后立即执行此操作。这是故意的吗?为什么声明后要覆盖一行? -
我尝试使用 .push().. 没有错误但没有数据
-
你为什么要 json.stringifying 呢?如果 formsDataSource.data() 返回一个数组,就跳过 stringify (也许在函数末尾做?)
-
formsDataSource.data() 返回一个 [object, object, object] 以使其可读我正在使用 json.stringify()
-
听起来 [object, object, object] 是你想要的,json.stringify 将其更改为字符串 - 你无法过滤字符串。
标签: javascript jquery arrays json filter