另一个数组的数组返回索引

时间:2019-06-01 17:12:51

标签: javascript

假设我们有两个数组。在某些情况下,我想返回第二个数组的索引。

let a = [1, 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 , 12]
let b = [0, 1, 2, 3 , 4 , 5, 6 , 7 , 8, 9, 10, 11]

if (a[2]) ? return b[2] : return null

为什么我需要这个?因为我有一年中从0到11的月份数,但是我需要将此1设置为12以存储在数据库中。 抱歉,如果有人的标题更好,我很乐意更改它。

2 个答案:

答案 0 :(得分:4)

您可以通过添加11来计算值,并使用12来获得余数。

function getZeroBasedMonth(n) {
    return (n + 11) % 12;
}

console.log(getZeroBasedMonth(1));
console.log(getZeroBasedMonth(12));

相反,只需添加一个即可。

function getMonth(n) {
    return n + 1;
}

console.log(getMonth(0));
console.log(getMonth(11));

答案 1 :(得分:0)

为什么要使它变得比所需的更难?只需将1加上从初始数组中获得的值即可。根据您的评论,这里是价值+1的月份中10年的价值。

let years = 10;
let months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
let allYears = [];

for(let i = 0; i < years; i++){
    let year = [];
    for(let x = 0; x < months.length; x++){
        year[x] = months[x] + 1;
    }
    allYears.push(year);
}

console.log(allYears);