我想询问是否有某种实用功能在提供索引时提供数组连接。也许jQuery的Prototype提供了这个,如果没有,我会自己编写:)
我期待的是像
var array= ["a", "b", "c", "d"];
function Array.prototype.join(seperator [, startIndex, endIndex]){
// code
}
这样array.join(“ - ”,1,2)将返回“b-c”
在一个非常常见的Javascript库中是否有这种实用功能?
此致 Wormi
答案 0 :(得分:39)
它是原生的
["a", "b", "c", "d"].slice(1,3).join("-") //b-c
如果您希望它的行为与您的定义相同,您可以这样使用它:
Array.prototype.myJoin = function(seperator,start,end){
if(!start) start = 0;
if(!end) end = this.length - 1;
end++;
return this.slice(start,end).join(seperator);
};
var arr = ["a", "b", "c", "d"];
arr.myJoin("-",2,3) //c-d
arr.myJoin("-") //a-b-c-d
arr.myJoin("-",1) //b-c-d
答案 1 :(得分:3)
只需将您想要的阵列切片,然后手动加入。
var array= ["a", "b", "c", "d"];
var joinedArray = array.slice(1, 3).join("-");
注意:slice()
不包含指定的最后一个索引,因此(1,3)等同于(1,2)。