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. ACM-ICPC 2018 青岛赛区现场赛 D. Magic Multiplication && ZOJ 4061 (思维+构造)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4061 题意:定义一个长度为 n 的序列 a1,a2,..,an ...

  2. CF350E Wrong Floyd

    洛谷题目链接 前言: 这题其实真的不难 回归正题: 我们首先要明白$floyd$的思想,相信你都来做这道水题了,肯定不陌生,简单的手玩后,我们可以发现: 只要有任意一个点只跟非标记点相连的话,是更新不 ...

  3. PCIe - 那点点事

    各位看官,这是我拷贝过来的,作为学习笔记(本人对图比较感兴趣,你说我懒也行,上图,这个看着舒服易懂): 1. Wire, lane, link 啥关系 注: PCIe 每条lane有1个双向通道(一个 ...

  4. 线段树详解 (原理,实现与应用)(转载自:http://blog.csdn.net/zearot/article/details/48299459)

    原文地址:http://blog.csdn.net/zearot/article/details/48299459(如有侵权,请联系博主,立即删除.) 线段树详解    By 岩之痕 目录: 一:综述 ...

  5. Po类设计

    0.承接MySQL 表设计,同样地,这篇博客中一部分内容是Deolin的个人观点和习惯. 1.一般Po类的域是和DB表字段一一对应的, 而由于每个信息表和关联表都有id.insert_time.upd ...

  6. EGL Driver message (Critical) eglInitialize: No available renderers.

    使用Python的selenium库进行自动化巡检.并将相对应的数据保存 环境: Windows Embedded Standard Python 2.7.16 selenium 3.141.0 [0 ...

  7. 【ElasticSearch+NetCore 第二篇】Nest封装

    using Elasticsearch.Net; using Nest; using System; using System.Collections.Generic; using System.Li ...

  8. Java安全(加密、摘要、签名、证书、SSL、HTTPS)

    对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的.本文将对非对称加密.数字 ...

  9. 【面试题总结】1、统计字符串中某个单词出现的次数(1-C++实现)

    [解决方法一]C++ map解决 一.map中的find函数: 用于查找map中是否包含某个关键字条目,传入的参数是要查找的key,最后返回一个迭代器,如果没有找到,则返回的迭代器等于end()返回的 ...

  10. DELPHI安卓动态权限申请

    DELPHI安卓动态权限申请 安卓8.0以前的版本,只需要给静态权限就可以了,但安卓8.0及以后的版本,还需要运行期用代码动态申请权限. 下面以<蓝牙权限>为例,其他权限类似. Delph ...