jquery:获取逗号分隔列表中的前 X 个项目
Posted
技术标签:
【中文标题】jquery:获取逗号分隔列表中的前 X 个项目【英文标题】:jquery: Get the first X items in comma separated list 【发布时间】:2014-01-03 18:40:55 【问题描述】:如何获取列表中的前 4 个项目
var s = "1,2,3,4,5,6,7,8,9";
var third = +s.toString().split(',')[2];
var firstFour = '? (1,2,3,4)';
测试:http://jsfiddle.net/U6V6L/
【问题讨论】:
你想要前四项的数组吗? 【参考方案1】:使用 javascript 的 slice 函数获取数组的前四项。
var s = "1,2,3,4,5,6,7,8,9";
var firstFour = s.split(',').slice(0,4);
生产
[1,2,3,4] //Javascript array
您的问题并不清楚,但如果您需要格式 '? (1,2,3,4)',你会这样做:
'? (' + s.split(',').slice(0,4).join(',') + ')';
【讨论】:
谢谢。这可能比 estshy 的数组快? 是的,它应该比循环“for”更快。 Performance results for those interested【参考方案2】:您可以使用带限制的拆分:
var firstFour = s.split(',', 4);
小提琴:http://jsfiddle.net/U6V6L/5/
【讨论】:
我认为它会将其余部分作为最终元素附加。很高兴知道! Surprisingly, this is slower than my solution in Chrome 31.x 这在 Firefox 和 IE 中更快,但在 Chrome 中更慢。奇怪。【参考方案3】:也许您需要使用splice 数组方法来删除元素。
var s = "1,2,3,4,5,6,7,8,9";
var third = s.toString().split(',').splice(0, 4);
见test example
【讨论】:
【参考方案4】:这样
var s = "1,2,3,4,5,6,7,8,9";
s.toString().split(',');
var third = s[2];
var firstfour = new Array();
for(var i = 0; i < 4; i++)
firstfour.push(s[i]);
firstfour = firstfour.join(",");
$("body").append("third: " + third);
$("body").append("<br>firstFour: " + firstfour);
直播:http://jsfiddle.net/U6V6L/4/
【讨论】:
为什么每次迭代都要拆分字符串?在 for 循环之外执行一次。 是的,我知道,我刚刚注意到了。感谢您报告错误。以上是关于jquery:获取逗号分隔列表中的前 X 个项目的主要内容,如果未能解决你的问题,请参考以下文章
如何从 JQuery 中的逗号分隔值列表中绑定 <select>?