在遍历数组时,我希望将元素推送到一个新数组。然而,该数组仍然为空
When looping through an array I wish to push the elements to a new array. That array however remains empty
当我运行这个循环时,它接受一个包含八个数字的数组,它循环遍历并将它们简单地推送到一个名为结果的全局数组。出于某种原因,当我 console.log 这个数组在循环之外时它 returns 0[]。我希望它 return 来自另一个数组的八个数字。
const results = []
const validate = arr => {
for(let i = 0; i < arr.length; i++){
results.push(arr[i])
}
}
console.log(results)
如果您包含原始数字数组并调用迭代它的函数,您的代码将有效:
let arr = [1,2,3,4,5,6,7,8];
let results = [];
function validate() {
for(let i = 0; i < arr.length; i++){
results.push(arr[i])
}
}
validate();
console.log(results)
但是,Array.prototype.map()
方法就是为做这种事情而设计的:
let arr = [2,4,6,8];
let results = arr.map(function(element){
return element; // Returns item to resulting array
});
console.log(results)
那是因为你必须 运行 函数 验证,现在你只是打印 results[]
没有任何项目。
validate(arr);
const results = []
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const validate = arr => {
for (let i = 0; i < arr.length; i++) {
results.push(arr[i])
}
}
validate(arr);
console.log(results);
但是如果你想复制,你可以使用:
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const results = [...arr];
console.log(results);
您在这里所做的只是简单地定义了一个函数,用于复制传入的数组的内容。你需要调用函数
validate
具有适当的值。
const results = []
const validate = arr => {
for(let i = 0; i < arr.length; i++){
results.push(arr[i])
}
}
validate([1,2,3,4,5,6,7,8]);
console.log(results);
您错过了函数调用。
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const result = [];
arr.map((num) => result.push(num));
console.log(result);
const results = []
const validate = (arr) => {
console.log(arr)
arr.forEach((value)=>{
results.push(value)
});
}
validate([1,2,3,4,5,6,7,8]);
console.log(results);
当我运行这个循环时,它接受一个包含八个数字的数组,它循环遍历并将它们简单地推送到一个名为结果的全局数组。出于某种原因,当我 console.log 这个数组在循环之外时它 returns 0[]。我希望它 return 来自另一个数组的八个数字。
const results = []
const validate = arr => {
for(let i = 0; i < arr.length; i++){
results.push(arr[i])
}
}
console.log(results)
如果您包含原始数字数组并调用迭代它的函数,您的代码将有效:
let arr = [1,2,3,4,5,6,7,8];
let results = [];
function validate() {
for(let i = 0; i < arr.length; i++){
results.push(arr[i])
}
}
validate();
console.log(results)
但是,Array.prototype.map()
方法就是为做这种事情而设计的:
let arr = [2,4,6,8];
let results = arr.map(function(element){
return element; // Returns item to resulting array
});
console.log(results)
那是因为你必须 运行 函数 验证,现在你只是打印 results[]
没有任何项目。
validate(arr);
const results = []
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const validate = arr => {
for (let i = 0; i < arr.length; i++) {
results.push(arr[i])
}
}
validate(arr);
console.log(results);
但是如果你想复制,你可以使用:
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const results = [...arr];
console.log(results);
您在这里所做的只是简单地定义了一个函数,用于复制传入的数组的内容。你需要调用函数
validate
具有适当的值。
const results = []
const validate = arr => {
for(let i = 0; i < arr.length; i++){
results.push(arr[i])
}
}
validate([1,2,3,4,5,6,7,8]);
console.log(results);
您错过了函数调用。
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const result = [];
arr.map((num) => result.push(num));
console.log(result);
const results = []
const validate = (arr) => {
console.log(arr)
arr.forEach((value)=>{
results.push(value)
});
}
validate([1,2,3,4,5,6,7,8]);
console.log(results);