JavaScript拆分,更改部件号

时间:2010-10-18 09:06:10

标签: javascript string

我有一个动态生成的大字符串,我正在拆分。

var myString="val1, val, val3, val4..... val400"

我对这个字符串做了一个简单的拆分,

myString= myString.split(',')

获得以下内容:

myString[1] // gives val1
myString[2] // gives val2
myString[3] // gives val3
.
.
.
myString[400] // gives val400

有没有办法做到以下几点?

myString[101] // gives val1
myString[102] // gives val2
myString[103] // gives val3
.
.
.
myString[500] // gives val400

5 个答案:

答案 0 :(得分:5)

数组是从零开始的,所以实际上在您的版本中,索引0最多为399而不是1到400。

我不太确定你为什么要在数组的开头填充100个项目,但是为了它的价值,这是一个做你想做的事情的简短方法。它也是Array构造函数实际上有用的少数几次之一:

var parts = new Array(100).concat(myString.split(','));

答案 1 :(得分:1)

我们可以使用unshift()方法在数组的开头添加元素。以下是使用它的一般语法。

scripts.unshift("VAL01","VAL02");

此处scripts是我们的数组对象,我们使用unshift()方法在此数组的开头添加两个新元素VAL01和VAL02。

因此,您可以使用unshift在拆分字符串之前添加100个数组元素。

答案 2 :(得分:0)

如果您不想在开头使用100个填充元素(索引0到99),则不希望使用数组。数组始终与索引一致。所以你可能正在寻找一个物体。

var obj = {}
for ( var i = 0; i < arr.length; i++ )
{
    obj[ i + 100 ] = arr[i];
}

但是你不应该这样做,因为使用对象会降低你使用它的可能性。如果您不想在开头添加另外100个元素(在这种情况下,您可以将它们添加到现有数组的开头),那么您应该使用原始数组,只需在访问时手动移动索引它

答案 3 :(得分:0)

你确定你需要这个吗?您可以简单地从偏移量中减去100以获得该值。为此,JavaScript中的数组是零索引的。这意味着可以使用myString[0]而非myString[1]来访问第一项。

答案 4 :(得分:0)

使用函数读取偏移值

function getOffSetValue(arr, index, offset)
{
    if(offset == undefined)
         offset = 100;
    return arr[index - offset];
}

var st = "val1,val2,val3,val4,val5";
var a = st.split(',');

console.log(getOffSetValue(a, 102));