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. Java8-Atomic

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...

  2. Codeforces Round #539 (Div. 1) 1109F. Sasha and Algorithm of Silence's Sounds LCT+线段树 (two pointers)

    题解请看 Felix-Lee的CSDN博客 写的很好,不过最后不用判断最小值是不是1,因为[i,i]只有一个点,一定满足条件,最小值一定是1. CODE 写完就A,刺激. #include <b ...

  3. 六十.完全分布式 、 节点管理 、 NFS网关

    1.安装与部署 对mapred和yarn文件进行配置 验证访问Hadoop   在六十准备好的环境下给master (nn01)主机添加ResourceManager的角色,在node1,node2, ...

  4. codeforces1213G Path Queries 并查集

    题意 给定n个结点的树,每条边有边权,有m个询问,每个询问给一个\(q_i\)输出树上有多少点对的简单路径上最大的边权不超过\(q_i\). 分析 用并查集维护点集,同时维护大小. 将所有边按边权排序 ...

  5. LOJ3120. 「CTS2019」珍珠 [容斥,生成函数]

    传送门 思路 非常显然,就是要统计有多少种方式使得奇数的个数不超过\(n-2m\).(考场上这个都没想到真是身败名裂了--) 考虑直接减去钦点\(n-2m+1\)个奇数之后的方案数,但显然这样会算重, ...

  6. Cats and Fish HihoCoder - 1631

    Cats and Fish HihoCoder - 1631 题意: 有一些猫和一些鱼,每只猫有固定的吃鱼速度,吃的快的猫优先选择吃鱼,问在x秒时有多少完整的鱼和有多少猫正在吃鱼? 题解: 模拟一下. ...

  7. anaconda安装和配置和基本使用

    conda是个商业化公司,所以没有授权不能随便建立其镜像.虽说说的是发邮件询问基本上就能够拿到授权,然而现实是国内的各大开源镜像站都拿不到. 这个事情最近有进展了. 清华大学的镜像源已经拿到授权了 ( ...

  8. JavaWeb_(Mybatis框架)动态sql_七

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

  9. mysql安装到启动遇见的问题

    一.有时候安装mysql后使用mysql命令时报错 Can't connect to MySQL server on localhost (10061),或者用net start mysql 时报服务 ...

  10. 重学C语言

    重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...