1、给定一个单词good  要求输入 g1 o2 d1 (字母+加字母个数)

方法一:

<script type="text/javascript">
var arrObj = [];
var str = 'good';
var arr = str.split('');
for (var i = 0; i < arr.length; i++) {
var _j = -1;
for (var j = 0; j < arrObj.length; j++) {
if (arrObj[j].key == arr[i]) {//判断数组中是否已存在该字符串
_j = j;
}
}
var num = arrObj[_j] != null ? (arrObj[_j].value + 1) : 1;
if (_j != -1) { arrObj.splice(_j, 1); }
arrObj.push({ key: arr[i], value: num });
}; for (var z = 0; z < arrObj.length; z++) {
document.write(arrObj[z].key + arrObj[z].value);
}
</script>

方法二:

        var arrObj = [];
var str = 'goofo d';
var arr = str.split('');
for (var i = 0; i < arr.length; i++) {
var _j = -1;
for (var j = 0; j < arrObj.length; j++) {
if (arrObj[j].key == arr[i]) {//判断数组中是否已存在该字母
_j = j;
}
}
if (_j == -1) {
if (arr[i] !== " ") {
arrObj.push({ key: arr[i], value: 1 });
}
}
else if (_j != -1) {
arrObj[_j].key = arr[i];
arrObj[_j].value = arrObj[_j].value + 1;
}
}; for (var z = 0; z < arrObj.length; z++) {
console.log(arrObj[z].key + arrObj[z].value);
}

方法三:

      var obj = {}
var arr = str.split("");
arr.forEach(function (v, i) {
obj[v] = obj[v] ? obj[v] + 1 : 1;
});
console.log(obj);

Js 集合运用的更多相关文章

  1. js集合set类的实现

    js集合set类的实现 /*js集合set类的实现*/ function Set() { this.dataStore = []; this.add = add;//新增元素 this.remove ...

  2. 【转】Ext JS 集合1713个icon图标的CSS文件

    原文:http://extjs.org.cn/node/715 由于最近在研究Extjs4.1.1,没想到Extjs没有自带的iconCls所使用的图标样式css,就是用那个写那个的,纠结了半天,网上 ...

  3. js创建对象,放进js集合

    var list=[]; for (var i=0;i<nodes.length;i++){ if(nodes[i].type=='user'){ person=new Object(); pe ...

  4. js 集合

    [深入理解javascript原型和闭包系列 ] 历时半月完稿,求推荐 jQuery 学习笔记(未完待续) JavaScript作用域原理(三)——作用域根据函数划分

  5. js集合

    var list = {};//声明 List[0] = 52;//赋值 List[1] = 57;//赋值

  6. js 实现数据结构 -- 集合

    原文: 在Javascript 中学习数据结构与算法. 概念: 即数学中的集合,在计算机科学中被应用成数据结构. 当然,集合中的数据具有不重复的特性.js 集合的原理大致上是 Object 的键值对 ...

  7. io.js入门(二)—— 所支持的ES6(上)

    io.js的官网上有专门介绍其所支持的ES6特性的页面(点我查看),上面介绍到,相比nodeJS,io.js已从根本上支持了新版V8引擎上所支持的ES6特性,无需再添加任何运行时标志(如 --harm ...

  8. js动态添加和删除标签

    html代码 <h1>动态添加和删除标签</h1> <div id="addTagTest"> <table> <thead& ...

  9. MongoDB 学习笔记(五):固定集合、GridFS文件系统与服务器端脚本

    一.count.distinct与group 1.count函数:查询文档数,如下图: 2.distinct:去重,用法:db.runCommand({distinct:"集合名" ...

随机推荐

  1. Educational Codeforces Round 72 (Rated for Div. 2) A题

    Problem Description: You play your favourite game yet another time. You chose the character you didn ...

  2. The websites related Laravel 相关网站(内容将不断更新)

    https://laraveldaily.com/ 文章内容质量很高

  3. vue的跳转方式(打开新页面)

    vue的跳转方式(打开新页面) 2018年11月22日 10:43:21 浊清... 阅读数 2043   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和 ...

  4. docker 1.12

    curl https://releases.rancher.com/install-docker/1.12.sh | sh http://rancher.com/docs/rancher/v1.6/e ...

  5. vue 内容增加滚动条自动定位至底部

    this.$nextTick(() => { document.body.scrollTop = document.body.scrollHeight; console.log(document ...

  6. 【luogu1016】旅行家的预算--模拟

    题目描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1D1D1.汽车油箱的容量CCC(以升为单位).每升汽油能行驶的距离D2D2D2.出发 ...

  7. nios ii 13 主程序的函数可以用Open Declaration 查看,但是编译的时候却说 undefined reference to 。。。这是为什么?

    在做12864 ip 核试验时,写了三个文件第一个是时序文件QC12864.v第二个是QC12864.H这个文件主要包括声明和宏定义,第三个文件是QC12864.c这个文件包含函数的定义.详细的请看  ...

  8. HDU 4374 One hundred layer(单调队列DP)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=116242#problem/E 题意:差不多就是男人勇下百层的游戏.从第一层到最 ...

  9. git reset 版本回退操作

    1 git回退命令 git reset --hard GIT_HEAD   GIT_HEAD是你具体要回退的分支: 如图:   注:  查询GIT_HEAD可以通过两个命令:git log 获取未删除 ...

  10. white-space 标签 使用

    white-space MSD定义为: 是用来设置如何处理元素中的空白 其使用场景有很多,比如:横向滑动,超出显示省略号,输出空格显示空格等 1.横向滑动 在写手机页面的过程中,我想大部分人都遇到横向 ...