【发布时间】:2019-12-26 10:26:06
【问题描述】:
我在$.each() 数组中使用slice() 函数。当数组值的前半部分具有相同的字符串时,它会显示此错误。 $name 来自一个始终具有不同值的按钮,即 question1、question2。
当数组类似于var arr = ["question1Answer1", "question2Answer2"]; 时,我尝试过,然后函数可以正常工作,但是当我推送更多以question2 开头的值并想要删除这些值时,控制台中显示的上述错误。
var arr = ["question1Answer1", "question2Answer2", "question2Answer3"];
refreshArrange = function($name) {
$.each(arr, function(index, value) {
var newStr = '';
newStr = value.slice(0, 9);
if(newStr == $name) {
var ind = arr.indexOf(value);
if (ind > -1) {
arr.splice(ind, 1);
console.log('working Ok');
}
}else {
}
});
console.log(arr);
}
我想删除数组的第二个和第三个值,因为$name 的未来值是question2。我正在拆分数组值并将前半部分与$name 进行比较并将其删除。但是会出现这个错误。
不知道问题出在哪里。
实际上,我想删除从$name的值开始的数组的值
如果这是一个愚蠢的问题,我很抱歉。我知道我没有正确解释问题。
【问题讨论】:
-
我找不到一个你在这里使用 jQuery 而不是 vanilla Javascript 的原因。
-
使用 jQuery 时,您可以通过索引对象来访问 vanilla HtmlElements:
arr[0] -
@efkah 他没有使用 jQuery 来选择任何元素。就像完全不必要的额外复杂层一样。
-
您可能还想在函数中使用 $name:` $.each($name, function(index, value) { ...` . @connexo 我同意。
-
@afnan 您传递的
arr和$name都相同。为什么 ?我认为$name不应该是一个数组。
标签: javascript jquery slice each