如何在JavaScript中访问数组元素而不使用索引器?

3
假设我有一个单元素数组["someStringHere"](我事先不知道字符串是什么),我想访问该字符串以便我的函数返回字符串而不是数组,我怎样才能做到这一点 没有使用索引器(例如:array [0])?
换句话说,就好像我可以删除方括号,只留下字符串。

@Andreas - pop()会移除数组中的元素,但我不确定原帖作者是否希望将其从数组中移除。 - Will
2
@AlanH - 这个问题很简单,但你所寻找的东西却不寻常,你介意详细说明一下原因吗? - Will
在进行一些练习时,不能使用索引器是其中的条件之一。 - TheRealFakeNews
你可以使用对象字面量吗?var obj = {"someStringHere"} - zer00ne
显示剩余3条评论
2个回答

5

每个对象都有一个 toString 方法。虽然不清楚为什么您想使用它,但您可以使用此方法进行操作。另一个选择是使用join 方法。

var someArr = ['some string here'];

console.log(someArr.toString());
console.log(someArr.join());

根据MDN:

数组对象重写了Object的toString方法。对于数组对象,toString方法将数组连接起来并返回一个字符串,该字符串包含每个数组元素,以逗号分隔。

详情请见此处


嗯,我不知道它也适用于数组。这是一个古怪的解决方案,但它确实有效。不过,我还是希望有些不同的方法。 - TheRealFakeNews
1
@AlanH 是什么不同?我已经使用“join”方法更新了我的答案。没有太多其他的方法。 - jeremy
“没有很多其他的方法” => 至少还有一种,而且它是最古怪的。 - Ilya

1
有趣的是,只需将其强制转换为字符串类型即可运行:
var someArr = ['some string here'];
console.log( "" + someArr );

还有一个要说的话:

someArr.forEach (function (s) { console.log(s) });

“JavaScript在将数组表示为文本值或在字符串连接中引用数组时,会自动调用toString方法”,这实际上与使用toString方法相同。尽管如此,这仍然是一种替代方法。 - jeremy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接