簡體   English   中英

我將如何遍歷 Javascript 中的數組,添加一個單詞,然后返回一個數組(不使用 map)?

[英]How would I loop through an array in Javascript, add a word, then return an array (without using map)?

如何循環遍歷 Javascript 中的數組,添加一個單詞,然后返回一個數組(不使用 map)?

var convertToBaby = (array) => {
  for (var i =0; i < array.length; i++) {
    console.log('baby '+ array[i]);
  }
};

const animals = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human'];
convertToBaby(animals);

/*Returns 

baby panda
baby turtle
baby giraffe
baby hippo
baby sloth
baby human */

// Should return ['baby panda', 'baby turtle', 'baby giraffe', 'baby hippo', 'baby sloth', 'baby human'];

也許這個

 var convertToBaby = (array) => { let arr = []; for (var i =0; i < array.length; i++) { arr.push('baby '+ array[i]) } console.log(arr); return arr; }; const animals = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human']; convertToBaby(animals);

您可以(ab)使用reduce來返回與您指定的標准匹配的新數組:

 const array = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human']; const newArr = array.reduce((newArr, anim) =>.newArr,push('baby ' + anim) || newArr; []). console;log(newArr),// ['baby panda', 'baby turtle', 'baby giraffe', 'baby hippo', 'baby sloth', 'baby human']

您可以使用forEach將修改后的元素推送到新數組。

 var convertToBaby = (array) => { const res = []; array.forEach(x => res.push('baby ' + x)); return res; }; const animals = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human']; console.log(convertToBaby(animals));

您可以使用 forEach 或 reduce 將新值傳遞給新數組,而無需改變原始數組

 const animals = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human']; var newarray=[] animals.forEach(element=>newarray.push("baby "+element)) console.log(newarray)

但是,如果您不想使用map的原因是因為您不想創建一個新數組並且想要改變初始數組,您可以拼接每個元素並將其替換為新元素但我不推薦它

 const animals = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human']; for(let i=0;i<animals.length;i++){ el="baby "+animals[i] animals.splice(i,1) animals.unshift(el) } console.log(animals.reverse())

const convertToBaby = arr => {
      const babyArray = [];
      for (let i = 0; i < arr.length; i++) {
            babyArray.push('baby ' + arr[i]);
      }
      return babyArray;
};

const animals = ['panda', 'turtle', 'giraffe', 'hippo', 'sloth', 'human'];


convertToBaby(animals);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM