将字符串中的字母映射到数组对象 - JavaScript


给定一个字符串,我们需要编写一个函数,该函数创建一个对象,用于将每个字母的索引存储在一个数组中。字符串的字母(元素)必须是对象的键

索引应该存储在一个数组中,这些数组则是值。

例如 −

如果输入字符串为 −

const str = 'cannot';

则输出应为 −

const output = {
   'c': [0],
   'a': [1],
   'n': [2, 3],
   'o': [4],
   't': [5]
};

示例

以下为代码 −

const str = 'cannot';
const mapString = str => {
   const map = {};
   for(let i = 0; i < str.length; i++){
      if(map.hasOwnProperty(str[i])){
         map[str[i]] = map[str[i]].concat(i);
      }else{
         map[str[i]] = [i];
      };
   };
   return map;
};
console.log(mapString(str));

输出

以下是控制台中的输出 −

{ c: [ 0 ], a: [ 1 ], n: [ 2, 3 ], o: [ 4 ], t: [ 5 ] }

更新于: 18-9 月-2020

394 次浏览

开启您的 职业

完成课程即可获得认证

开始
广告