Javascript 切片在我的阵列上未按预期工作

Javascript 切片在我的阵列上未按预期工作,javascript,arrays,slice,Javascript,Arrays,Slice,我从网页上抓取了一个数组: myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr') 在控制台中返回一个数组: 我需要做的是将此数组子集: 从第三项开始 然后保留每一个奇数项 所以我需要一个包含第3项和第5项的var子集 我试过了:myvar.slice3,5。此返回的未定义错误不是函数 如果我成功了,我将拥有一个包含3项的数组。然后我需要在数组中保留奇数项 如何为myvar创建

我从网页上抓取了一个数组:

myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr')
在控制台中返回一个数组:

我需要做的是将此数组子集:

从第三项开始 然后保留每一个奇数项 所以我需要一个包含第3项和第5项的var子集

我试过了:myvar.slice3,5。此返回的未定义错误不是函数

如果我成功了,我将拥有一个包含3项的数组。然后我需要在数组中保留奇数项

如何为myvar创建一个子集,以便有一个包含项目3和项目5的变量? 如果myvar是长度10。我如何将其子集,以包括项目3、5、7、9

myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr')
myvar是节点列表,而不是数组。所以不能在其中使用数组函数

但是您可以使用apply或call在nodelist上获取数组功能

如何获得这些功能

Array.prototype.slice.call(myvar, 3,5);
现在可以在节点列表中使用slice

但对于您的实际问题,通过切片也不可能只获得与特定条件匹配的子集

您必须迭代元素并手动执行

myvar是节点列表,而不是数组。所以不能在其中使用数组函数

但是您可以使用apply或call在nodelist上获取数组功能

如何获得这些功能

Array.prototype.slice.call(myvar, 3,5);
现在可以在节点列表中使用slice

但对于您的实际问题,通过切片也不可能只获得与特定条件匹配的子集

您必须迭代元素并手动执行

我试过了:myvar.slice3,5。此返回的未定义错误不是函数

是,因为querySelectorAll返回节点列表而不是数组。另见

如何为myvar创建一个子集,以便有一个包含项目3和项目5的变量?如果myvar是长度10。我如何将其子集,以包括项目3、5、7、9

myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr')
无论如何,您都需要手动完成这项工作,javascript中没有这样的方法可以使用步骤对子序列进行切片。使用

var arr = [],
    myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr');
for (var i=3; i<myvar.length; i+=2)
    arr.push(myvar[i]);
我试过了:myvar.slice3,5。此返回的未定义错误不是函数

是,因为querySelectorAll返回节点列表而不是数组。另见

如何为myvar创建一个子集,以便有一个包含项目3和项目5的变量?如果myvar是长度10。我如何将其子集,以包括项目3、5、7、9

myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr')
无论如何,您都需要手动完成这项工作,javascript中没有这样的方法可以使用步骤对子序列进行切片。使用

var arr = [],
    myvar = document.querySelectorAll('#tblItineraryModuleStayDetail > tbody > tr');
for (var i=3; i<myvar.length; i+=2)
    arr.push(myvar[i]);

谢谢你的帮助。我用了你的答案加上@Bergi的组合来做这个。根据时间选择答案感谢您的帮助。我用了你的答案加上@Bergi的组合来做这个。根据时间选择答案这很好,非常感谢。我现在使用了循环的unfancy。当我对我的脚本更有信心时,我会看看过滤器。这很好,非常感谢。我现在使用了循环的unfancy。当我对我的脚本更有信心时,我会看看过滤器