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中的逗号分隔列表

jQuery返回不带逗号的字符串的前5个单词

如何从 JQuery 中的逗号分隔值列表中绑定 <select>?

Google表格中的笛卡尔/交叉连接以获取逗号分隔值

将用逗号/空格分隔的名称插入到通过 jQuery 创建的 <li> 中

Robot Framework之list用法及元素获取