如何在此var声明中获取此数组的第一个元素?

时间:2013-10-24 14:31:17

标签: javascript jquery arrays split

如果我使用元素ID 10_food_select执行此操作:

var id = $(sel).attr("id").split("_");

我得到一个这样的数组:

["10", "food", "select"] 

我想要的是id = 10(或者第一个元素是什么)。我可以稍后通过编写id[0]来得到这个,但是如何在第一个var声明中简单地使id等于split数组的第一个元素的值?

5 个答案:

答案 0 :(得分:4)

[]几乎与其他任何运营商一样。

var id = $(sel).attr("id").split("_")[0];

由于现在每个人似乎都在提供正则表达式,所以这是我的:

var id = +/[^_]*/.exec($(sel).prop("id"));

如果它是一个数字,你也可以这样做:

var id = parseInt($(sel).prop("id"), 10);

我认为这几乎涵盖了有用的单行。

答案 1 :(得分:2)

另一种方式

var id = +($(sel).attr("id").replace(/_.+$/,''));

答案 2 :(得分:0)

你可以这样做:

var id = $(sel).attr("id").split("_")[0];  // returns 10 

这将立即为您提供正确的 ID ,甚至不用

var id = $(sel).attr("id").split("_");   // returns ["10", "food", "select"] 
id = id[0];                              // returns "10"

答案 3 :(得分:0)

我认为你正在寻找这个:

var id = $(sel).attr("id").split("_")[0];

答案 4 :(得分:0)

或者你可以使用正则表达式替换,如果你需要的只是拆分中的第一个:

var id = sel.id.replace(/^([^_]+).*/, '$1')

注意:不需要$(sel).attr('id')sel.id就足够了。