Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tách mảng chuỗi thành đối tượng lồng nhau đếm số lượng trong JavaScript

Cho mảng chuỗi dạng 'brand-model'. Tách thành đối tượng: key=brand, value=object {model: count}.

Ví dụ

const arr = [    "fiat−palio",    "fiat−stilo",    "fiat−strada",    "fiat−uno",    "fiat−uno",    "gm−corsa",    "gm−celta",    "ford−fiesta",    "volkswagen−gol",    "volkswagen−gol",    "volkswagen−gol",    "volkswagen−voyage" ]; const convertToObject = (arr = []) => {    let res = arr.reduce((acc, val) => {       let pair = val.split('−');       let mark = pair[0];       let model = pair[1];       if(!acc.hasOwnProperty(mark)) {          acc[mark] = {};          acc[mark][model] = 1;       } else {          if(acc[mark].hasOwnProperty(model)) {             acc[mark][model] += 1;          } else {             acc[mark][model] = 1;          }       }       return acc;    }, {})    return res; } console.log(convertToObject(arr));

Kết quả

{    fiat: { palio: 1, stilo: 1, strada: 1, uno: 2 },    gm: { corsa: 1, celta: 1 },    ford: { fiesta: 1 },    volkswagen: { gol: 3, voyage: 1 } }