Ant*_*ony 3 javascript arrays populate
这更像是一次学习练习,没有什么超级批判性的 - 我不确定Google正在寻找的最佳方式,我点击了其他一些建议的答案,并没有发现任何看起来超级相关的内容.
我想知道是否有一种方法可以使用另一个数组和for循环填充数组(而不是修改现有数组的内容).我想象的是:
var existingArray = ["Thing1", "Thing2", "Thing3"];
let newArray = for (var i=0; i < existingArray.length; i++) {
"Modified string " + existingArray[i];
}
// Output: ["Modified string Thing1", "Modified string Thing2", "Modified string Thing3"]
Run Code Online (Sandbox Code Playgroud)
我可以在那里创建新的数组变量,并在同一代码块中或多或少地填充它.我知道怎么做可能更传统的方式,我只是说:
newArray = [];
oldArray = ["Thing1", "Thing2", "Thing3"]
for (var i = 0; i < oldArray.length; i++) {
newArray.push("Modified string " + oldArray[i]);
}
Run Code Online (Sandbox Code Playgroud)
我很抱歉,如果这是一个有点愚蠢的问题,我只是好奇是否有办法做到这一点,如果这样做有任何好处.似乎只是声明一个新数组并用一小块代码填充所有代码而不是声明新数组,然后使用.push()来填充它似乎很酷.
使用它会更好.map,因为您将一个数组转换为另一个数组,只需要一行:
const existingArray = ["Thing1", "Thing2", "Thing3"];
console.log(
existingArray.map(thing => 'Modified string ' + thing)
);Run Code Online (Sandbox Code Playgroud)
如果没有现有的数组.map,你仍然可以通过使用Array.from- 在第一个参数中定义长度来立即创建数组,并将map函数放在第二个参数中:
const originalArray = Array.from({ length: 3 }, (_, i) => 'Thing ' + (i + 1));
console.log(originalArray);Run Code Online (Sandbox Code Playgroud)