GREP未检测到数组中添加的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GREP未检测到数组中添加的元素相关的知识,希望对你有一定的参考价值。
我从后端加载了一个包含100个元素的数组。
[console.log(array)
显示100个元素。
然后我通过ajax获得1个新元素,并使用array.push(new_element);
将其添加到数组中>
[console.log(array)
显示101个元素。
如果我console.log(array[array.length-1])
我得到了我添加的元素。
到目前为止一切正常,数据正确。这是从添加的元素中捕获的。
然后,我想在列表中显示所选元素的子集。
sub_array = jQuery.grep(array, function(n) { return ( n.selected === 'True' });
添加的101元素已被“选定”,已确认,但是我没有进入sub_array。
我检查了所有逻辑,没关系。无法理解为什么我没有获得101元素。
似乎grep命令从原始版本获取数组数据,而不是从更新版本获取数组数据。
例如,如果它进入更深层次的内存或类似的级别。有可能吗?
某些代码
// Part 1 - The original data comes from Django backend $(document).ready(function(){ window.array = {{ course_list|safe }}; }; // Part 2 - Adding extra value $.ajax({ url:'/myurl', contentType : "application/json", dataType: 'json', success:function(data){ console.log(array); // Here I get the correct number of 100 elements new_course = JSON.parse(data.extra_course); array.push(new_course); console.log(array); // Here I get the correct number of 101 elements }, error:function(data){ }, }); // Part 3 - function create_agenda() { console.log(array[array.length-1]); // Here I get the added element correctly sub_array = jQuery.grep(array, function(n) { return ( n.selected === 'True') }); // Here I don't get the element. Even filtering by other fields };
sub_array项目示例
欢迎任何线索!!谢谢。
我从后端加载了一个包含100个元素的数组初始值。 console.log(array)显示100个元素。然后我通过ajax获得1个新元素,并使用array.push(new_element);将其添加到数组中。 ...
答案
在ajax
响应内部,data.extra_course
是一个数组而不是对象。您必须像这样将对象推入array
:
以上是关于GREP未检测到数组中添加的元素的主要内容,如果未能解决你的问题,请参考以下文章