Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-ngRepeat排序更改数组长度_Javascript_Arrays_Angularjs_Sorting_Angularjs Material - Fatal编程技术网

Javascript AngularJS-ngRepeat排序更改数组长度

Javascript AngularJS-ngRepeat排序更改数组长度,javascript,arrays,angularjs,sorting,angularjs-material,Javascript,Arrays,Angularjs,Sorting,Angularjs Material,JSFIDLE: 由于某些原因,当我更改ng重复列表的排序选项时,数组的长度会更改,并且在本地副本中,所有项都会被删除 我使用了过滤器/排序的组合,包括一个选项,通过链接到“showLeavers”$filter指令的复选框选择来过滤具有完整“leaveDate”属性的入/出员工 在“我的本地副本”中,如果未选中复选框,并且选择了第二个或第三个排序选项,则会清除阵列,因此ng repeat列表中不会显示任何内容,但如果选中复选框,或者选择了第一个或第四个排序选项,则列表会按其应有的方式显示 显然

JSFIDLE:

由于某些原因,当我更改ng重复列表的排序选项时,数组的长度会更改,并且在本地副本中,所有项都会被删除

我使用了过滤器/排序的组合,包括一个选项,通过链接到“showLeavers”$filter指令的复选框选择来过滤具有完整“leaveDate”属性的入/出员工

在“我的本地副本”中,如果未选中复选框,并且选择了第二个或第三个排序选项,则会清除阵列,因此ng repeat列表中不会显示任何内容,但如果选中复选框,或者选择了第一个或第四个排序选项,则列表会按其应有的方式显示

显然,代码中存在一个问题(我猜是filter指令),因为我可以演示类似于上面JSFIDLE中的内容


HTML:

您需要更改,需要提供元素的索引,以及要拼接的元素数量:

matches.splice(matches.indexOf(value), 1);
或者,您可以这样使用:

var matches = employees.filter(match => match.leaveDate.length <= 0 || showLeaver);

var matches=employees.filter(match=>match.leaveDate.length-Perfect,在我的本地版本中用第一行修复了它(使用该行是因为我实际上了解它的功能)
matches.splice(matches.indexOf(value), 1);
var matches = employees.filter(match => match.leaveDate.length <= 0 || showLeaver);