首页 > 解决方案 > 根据数字的值,将数组中的一个数组(带有字符串和数字)中的字符串推送到新数组

问题描述

我想尽可能自己做。首先,我如何从数组中的数组中调用一个元素。那么我如何将一个元素从一个数组中的一个数组推送到一个新数组。最终我想创建基于年龄组的新数组。0-20、21-30、31-40、41-50、51-60。打印带有名称和年龄的新数组。

const arr1 = ['Sarah',37];
const arr2 = ['Mike', 32];
const arr3 = ['Bill', 25];
const arr4 = ['Chris', 24];
const arr5 = ['Joe', 44];
const arr6 = ['Jesse', 33];
const arr7 = ['Jon', 28];
const arr8 = ['Michael', 55];
const arr9 = ['Jill', 59];
const arr10 = ['Helia', 4];

const mainArr = [arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10];

const newArr = [];
const age3040 = []

newArr.push(mainArr[[0][0]]);

const checkAge = (ageCheck) => {
    if (arr1[1] > 30 || arr1[1] < 41) {
   age3040.push(arr1[0]);
}
}

console.log(arr1);
console.log(newArr);
console.log(age3040);

标签: javascriptarrays

解决方案


您的代码中有三个问题

  1. ageCheck根本不使用
  2. ||应该&&
  3. 函数checkAge没有被调用,所以你不会得到结果

给你一个例子,希望对你有帮助。

const arr1 = ['Sarah', 37];
const arr2 = ['Mike', 32];
const arr3 = ['Bill', 25];
const arr4 = ['Chris', 24];
const arr5 = ['Joe', 44];
const arr6 = ['Jesse', 33];
const arr7 = ['Jon', 28];
const arr8 = ['Michael', 55];
const arr9 = ['Jill', 59];
const arr10 = ['Helia', 4];

const mainArr = [arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10];

const reuslt = [{
    range: '0-20',
    names: []
}, {
    range: '21-30',
    names: []
}, {
    range: '31-40',
    names: []
}, {
    range: '41-50',
    names: []
}, {
    range: '51-60',
    names: []
}];

for (let index = 0; index < mainArr.length; index++) {
    const item = mainArr[index];

    if (item[1] > 0 && item[1] <= 20) {
        reuslt[0].names.push(item[0]);
    } else if (item[1] <= 30) {
        reuslt[1].names.push(item[0]);
    } else if (item[1] <= 40) {
        reuslt[2].names.push(item[0]);
    } else if (item[1] <= 50) {
        reuslt[3].names.push(item[0]);
    } else if (item[1] <= 60) {
        reuslt[4].names.push(item[0]);
    }
}

console.log(reuslt);

推荐阅读