0

我有一个可能包含 1 到 11 个元素的数组。我想删除最后一个元素并使其成为一个新字符串,然后将数组列表的其余部分设置为一个集体字符串。以下代码不起作用...我是否需要包含 if else 以防数组列表只有一个元素?(我知道我知道,我想知道这是否会导致脚本根本不被执行)

var finaling = checked[checked.length].toString();
    checked.splice(checked[checked.length]);
    checked.toString();
4

2 回答 2

3

这是我将如何做到的......

我想删除最后一个元素...

checked.pop();

...并使其成为一个新字符串...

checked.push('new string');
// or skip the above `pop()`
checked[checked.length - 1] = 'new string';

...然后将数组列表的其余部分设置为集体字符串。

checked = checked + '';

数组的默认值toString()将使用','. 如果要使用不同的连接字符,请使用join().

于 2012-04-07T03:21:42.427 回答
0

我不确定您要做什么,但应该这样做:

var lastElementInArray = checked.splice(checked.length-1)[0].toString();
var stringOfChecked = checked.toString();

或者,如果要删除数组的最后一个元素并返回表示新数组的字符串:

checked.splice(checked.length-1, 1);
var finaling = checked.toString();

需要注意的是:array.splice()返回一个元素数组;如果你只有一个元素并且你想要那个实际的元素,你会想要使用array.splice(...)[0].

于 2012-04-07T03:20:32.863 回答