我在一个数组中推入两个数组,但不能将它们用作字符串,这导致在一个数组中大约有两个数组:
Array(0) [] //This is empty array that I create before and push these two array bellow to them
length:2
0:Array(1) ["cfdb9868-0f69-5781-b1e4-793301280788"]
1:Array(1) ["cfdb9868-0f69-5781-b1e4-793301280788"]
并且我创建了一个用于访问它们的文件,但是我可以!我写这段代码“
for(var index = 0 ; index < Array.length ; ++index) {
let Each_String_In_Brackets = Array[index] ;
console.log(Each_String_In_Bruckets);
}
为什么会这样!
我的意思是为什么当我们在空数组中推送数组时无法访问它们!我想访问它们的内容,每个方括号中都有一个字符串。
var arr = [];
arr.push(["cfdb9868-0f69-5781-b1e4-793301280788"]);
arr.push(["cfdb9868-0f69-5781-b1e4-793301280788"]);
//assuming inside array always will be one element:
arr.forEach((item)=>{ console.log(item[0])})
//if inside array may be multiple elements, then use this
arr.forEach((item, index)=>{
item.forEach((child)=>{ console.log(child)})
})
您正在按数组推送数组,因此必须以2D数组访问:
var array = [];
var arrayString1 = ["StringInArray1"],
arrayString2 = ["StringInArray2"];
array.push(arrayString1);
array.push(arrayString2);
console.log(JSON.stringify(array));
array.forEach(arrayItem => {
console.log("StringInArray: " + arrayItem[0]);
})
或者也许您想附加数组:
var array = [];
var arrayString1 = ["StringInArray1"],
arrayString2 = ["StringInArray2"];
[].push.apply(array, arrayString1);
[].push.apply(array, arrayString2);
console.log(JSON.stringify(array));
array.forEach(arrayItem => {
console.log("StringInArray: " + arrayItem);
})
将完整的数组推入另一个数组使其成为2D数组(在推入另一个数组的索引处),例如,如果我有第一个数组
BArray[]
但是如果我将另一个数组放入其中
BArray2 = [1,2,3,4];
BArray.push(Array2);
我们将无法仅通过]来访问它>
整个array2,而不是array2的内容,索引为0。因此,您可以这样做BArray[0]
这将返回
BArray[0][0]
因此,这将使我们(从您的数组中获得)
"cfdb9868-0f69-5781-b1e4-793301280788"
如果您只是想将BArray2
的内容转储到BArray
您可以使用点差运算符。
BArray[...BArray2];
(同样,我也不会使用Array作为变量名!因为
new Array(10);
是创建数组的一种方法,而使用具有该名称的数组不是最佳做法,所以可能会造成混淆!)
希望这会有所帮助!