认识数组和字符串
说到网页编程里的数组,他的主要任务就是装载各种信息,像字符串这种东西,简单点说,就是字母和数字拼凑出来的。但是有时候,数组里也会混进字符串,这时我们就要用到jQuery这个小技巧了,因为它能帮我们轻松解决数组中包含字符串的问题。
示例分析
假设我们有一个包含字符串的数组:
var arr = ["apple", "banana", "cherry", "dog", "egg"];
苹果,数字123,香蕉和真假值”true”以及葡萄。
想要删除数组里所有的“字符串”?别担心,jQuery里面有个grep()函数,能帮你找出来并生成新的数组哦~
使用jQuery的grep()方法
哎呦,给大家安利一个神器——jQuery的grep()函数,可以很轻松地在数组中剔除字符串!具体怎么操作?我给你看看:
javascriptvar newArr = $.grep(arr, function(item) { return typeof item !== "string"; });来瞅瞅这名叫arr的小列表!都有啥?苹果、数子123、香蕉,真的(对,真货!)还有葡萄!
就让我们用jQuery的grep方法给老数组做个新装备。这个过程就像个小测试,它会逐个检测元素是不是达标,如果没问题就能进新数组!
就是看看item是不是字符串。
});
console.log(newArr);看这段代码,我们用grep()方法,把原来的数组arr和检查字符串的函数作为参数送给它。要是碰到不能处理的元素(非字符串),直接丢到新建的nums数组就好。最后看看结果咋样?nums里面已经没有原数组的字符串了
性能考量
记住,大数据处理要重视速度和效率!别以为简单的for循环就能搞定,那比起jQuery的grep(),简直慢如蜗牛。grep()这家伙早已经过优化了,用起来顺手又好改,代码质量也高。
["dog", "egg"]使用for循环实现
不用找别的了,我们平时就靠for循环来解决问题!
varnewArr=[];
我要仔仔细细地把数组里面的每一个数都数一遍,数一次就加上去,直到把全部的数都数完才行。
如果arr的第i个元素不是字符串,那就…
newArr.push(arr[i]);
}
}
var newArr = []; for (var i = 0; i < arr.length; i++) { if (typeof arr[i] !== "string") { newArr.push(arr[i]); } }我在新数组newArr添加了一些内容,然后用for循环把老数组arr彻头彻尾检查了一遍。碰到任何元素(非字符串)就顺手扔到newArr中,最后的结果其实就跟grep()函数差不多~
总结与展望
这篇文章讲了如何用jQuery解决从字符串数组里去除非字符串元素的问题。想清除数组中的异类?那就用grep()这个小帮手,也可以老实巴交地使用for循环挨个查看,筛选出正解,再重建新数组。不过实话实说,我个人觉得jQuery的挑选手法更给力,速度快,看起来也亲切许多~
扩展阅读
不妨去jQuery官网逛逛,网址是这个哈:https://jquery.com/
JavaScript编程宝典(第4版)-第5章花样,数组
原文链接:https://www.icz.com/technicalinformation/web/2024/04/15639.html,转载请注明出处~~~
评论0