首页 > 解决方案 > 将字符串推送到 for 循环期间创建的数组的开头和结尾

问题描述

现在我有一个 for 循环,它返回一个数字为 1 - 90 的数组,但是我无法用存储在我的变量中的字符串替换数字 1 和 90(分别)。

const far = "01/01/20"
const close = "03/01/20"


const pushNinetyDays = () => {
    let arr = [];
             for (i = 1; i <= 90 ; i++) {
              arr.push(i)
           } 
     return arr
 } 

// => [1, 2, 3, 4,...89, 90]

我在这些方面尝试了一段时间,但没有得到正确的结果。

const pushNinetyDays = () => {
    let arr = [];
    for (i = 1; i <= 90 ; i++) {
        if (arr[i] === 1) {
            arr.push(far) 
         } else if (arr[i] === 90) {
            arr.push(close)
         } else {
            arr.push(i)
         } 
    }
     return arr
 }

// still returning this array => [ 1, 2, 3, 4,...89,90] 
// when i'm looking for this array => ["01,01,20", 2, 3, 4...89, "03/01/20"]

谁能帮我吗?

标签: javascriptarraysfor-loop

解决方案


const pushNinetyDays = () => {
let arr = [];
for (i = 1; i <= 90 ; i++) {
    if (i == 1) {
        arr.push(far) 
     } else if (i == 90) {
        arr.push(close)
     } else {
        arr.push(i)
     } 
}
 return arr
}

您所要做的就是检查 i ==1 还是 90 而不是数组中什么都不是。更好的方法是使用数组并设置 arr[0] 和 arr[89]。


推荐阅读