草庐IT

each_slice

全部标签

javascript - 在 $.each 函数中使用条件来创建数组

我想遍历数组的元素,如果条件为真,我想创建一个新数组。示例:我有一个名为Messages的数组,其元素是对象,我想检查id属性是否等于5。如果是,则创建一个仅包含该对象的新数组。messages=[{"id":10,"body":"hello!"},{"id":21,"body":"hola!"},{"id":5,"body":"ciao!"}];varmessage5=[];vardataObj={};$.each(messages,function(index,value){if(value.id==5){dataObj[index]=value;}});message5.push

javascript - 在 Meteor 中使用#each,检查集合中的 'last' 元素是否到达

我正在使用{{#each}}遍历Meteor中的一个集合,我想知道我是否在最后一个元素中,就像我在AngularJS中使用带有$last的ngRepeat时所做的那样。它可以用来构建人类可读的枚举,比如“我喜欢猫、狗和海豚”:Template.myTemplate.helpers({likedAnimals:function(){return['dogs','cats','dolphins'];}});Ilike{{#eachlikedAnimals}}{{#if!$first&&!$last}},{{/if}}{{#if$last}}and{{/if}}{{this}}{{/each

javascript - Array.prototype.slice 奇怪的行为

考虑这段代码,每行末尾都有控制台输出:functionwhatever(){console.log(arguments)//{'0':1,'1':2,'2':3,'3':4,'4':5}console.log(Array.prototype.slice.call(arguments))//[1,2,3,4,5]console.log(Array.prototype.slice.call({'0':1,'1':2,'2':3,'3':4,'4':5}))//[]}whatever(1,2,3,4,5)为什么第三个console.log输出一个空数组? 最佳答案

javascript - Prototype 在这个 Array slice 调用中,为什么?

我正在阅读JS函数的arguments变量的MDN页面:https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope/arguments我知道arguments不是数组,所以这行不通:vara=arguments.slice();MDN上的解决方案是这样做:varargs=Array.prototype.slice.call(arguments);为什么使用Array.prototype而不仅仅是Array.slice.call(arguments)?在这里使用原型(prototyp

javascript - JQuery 用 find() 反转 each()

我知道以前有人问过这种问题,但是一般的解决方法$($("input").get().reverse()).each(function(){/*...*/});对我不起作用。我有一个xml文档,其中包含我想在网页上显示的音乐会列表。所以,在JQuery中:$.ajax({type:"GET",url:"concerts.xml",dataType:"xml",cache:false,success:function(xml){$(xml).find('concert').each(function(){/*dostuff*/});}});但是,我想以相反的顺序显示音乐会。所以,我尝试了以

javascript - 使用 jQuery.each() 遍历两个数组?

如何通过一次调用jQuery.each()来迭代两个数组?这样的事情显然行不通:$.each(arr1,arr2,function(i,v){//dosomething...});那么如何做到这一点呢? 最佳答案 .concat的替代方法是双$.each:$.each([arr1,arr2],function(){$.each(this,function(i,v){//dosomething});});如果数组包含很多项目,这可能会更快。 关于javascript-使用jQuery.ea

javascript - 限制 .each() 循环中条目的更简单方法

我一直想知道是否有一种jQuery风格的好方法来执行以下操作:varcount=0;$("p").each(function(){if(count>=5)returnfalse;$(this).toggleClass("highlight");count++;});在jQuery中是否有类似each()的函数可以让我限制它循环的项目数,或者这是最好的做事方式? 最佳答案 最简单的是.slice:$("p").slice(0,5).toggleClass("highlight");//onlysfromindex0(inclusive

javascript - 使用 Javascript/KendoUI 自动完成呈现数据时出错 - 对象 #<Object> 没有方法 'slice' - 如何解决?

我正在关注UsingKendoUIwithMVC4WebAPIODataandEF文章。安装KendoUI并确保设置了所有引用后,我输入了三个字符,并收到以下错误:UncaughtTypeError:Object#hasnomethod'slice'问题的根源通过更新保存阅读:通过调试我发现问题是JS期望解析一个数组,它在数据中不可用-在根。在数据层次结构中,它是一个级别。原始问题我清理了kendo.web.min.js,错误发生在第3498行附近:success:function(n){vari=this,r=i.options;returni.trigger(wt,{respons

javascript - each() 函数中的多个 ajax 调用.. 然后在所有调用完成后执行某些操作?

让我稍微解释一下我的代码(如果有什么不对,请原谅,我刚刚从头开始编写这个示例,它非常接近我目前的代码)。HTML:Name1:Email1:Name2:Email2:Name3:Email3:Name4:Email4:JS:$("#form").submit(function(){$(".friendName[value!='']").each(function(){varidEmail='friendEmail'+$(this).attr("id").replace('friendName','');if($("#"+idEmail+"[value!='']").length>0){

javascript - 鉴于 "arguments"不是真正的数组,为什么 Array.prototype.slice.call(arguments) 有效,而 Array.prototype.slice.call(someobject) 无效?

如果arguments只是一个具有length属性的对象,那么为什么它的行为似乎不同于其他非数组对象,例如Array.prototype.slice。例如,下面的代码首先提示“undefined”,然后提示“foo”。为什么这些不同?(function(a){varmyobj={0:"foo"};varmyobjarray=Array.prototype.slice.call(myobj);varargumentsarray=Array.prototype.slice.call(arguments);alert(myobjarray.shift());alert(argumentsar