1.得到数组里重复的值

 function getRepeat(ar){
//数组排序
var ary = ar.sort();
//创建装重复值的新数组
var newArr = new Array();
//所有重复元素添加进新数组内
for(var i=0;i<ary.length;i++){
//前一项和后一项相比较 如果相等 就放进新数组newArr内
if (ary[i]==ary[i+1]){
  newArr.push(ary[i]);
}
}
//创建一个空数组result用来存放最终结果,同时声明了一个isRepeated来标记重复状态
var result = [], isRepeated;
//对重复元素数组进行元素去重
for (var k = 0; k < newArr.length; k++) {
//进入循环开始 标记 isRepeated 初始值都是false
isRepeated = false;
  for (var j = 0;j < result.length; j++) {
//如果新数组newArr内值和最终存放结果的数组内的值相等 则改变标记flag的状态为true 并跳出循环 继续下一次的循环
if (newArr[k] == result[j]) {
isRepeated = true; break;
}
}
//如果isRepeated状态明天被改变依然是false !false就是true 则把这个新数组newArr内这个值newArr[k] 放进result数字内
if (!isRepeated) {
result.push(newArr[k]);
}
}
return result;
}
 function getRepeat(ar){
var arr=[];
var arr1=[];
var arr2=[];
for(var i=0;i<ar.length;i++){
if(arr.indexOf(ar[i])==-1){
arr.push(ar[i])
}else{
arr1.push(ar[i])
}
}
if(arr1.length===1||arr1.length===0){
return arr1;
}else{
for(var i=0;i<arr1.length;i++){
if(arr2.indexOf(arr1[i])==-1){
arr2.push(arr1[i])
}
}
return arr2;
}
}

2.数组去重方法

 function unique(arr){
// 遍历arr,把元素分别放入tmp数组(不存在才放)
var reset = new Array();
for(var i in arr){
//该元素在tmp内部不存在才允许追加
if(reset.indexOf(arr[i])==-1){
reset.push(arr[i]);
}
}
return reset;
}

3.匹配两个数组,取出只有其中一个数组才有的值,以数组形式返回

 function getArrData(a,b){
var c=[];
var arr00=[];
for(var i in a){
c[a[i]]=a[i];
}
for(var i in b){
if(c[b[i]]){
delete c[b[i]];
}else{
c[b[i]]=b[i];
}
}
for(var i in c){
arr00.push(c[i])
//arr00.push(c[i].split(','))
}
return arr00;
}

Javascript-string-Array的更多相关文章

  1. JavaScript string array 数组

    Array类可以如下定义: var aValues = new Array(); 如果预先知道数组的长度,可以用参数传递长度 var aValues = new Array(20); -------- ...

  2. Javascript 中 Array的 sort()和 compare()方法

    Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字. 我们 ...

  3. JavaScript中Array(数组) 对象

    JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...

  4. javascript change array length methods

    javascript change array length methods Array 改变数组长度的方法 push, pop shift, unshift, splice, fill, 不改变数组 ...

  5. JavaScript String 对象

    JavaScript String 对象 String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法 var txt = new S ...

  6. javascript string 函数集

    JavaScript_String对象说明 string中文为"字符串"的意思,String继承自Object对象,此对象提供字符串的查找操作等函数 JavaScript字符串类型 ...

  7. JavaScript之Array常用函数汇总

    [20141121]JavaScript之Array常用功能汇总 *:first-child { margin-top: 0 !important; } body>*:last-child { ...

  8. Change value of string array at debug eclipse--转

    Question: I have an application, but to test something, I need to change value of a String[]. But wh ...

  9. JavaScript原生Array常用方法

    JavaScript原生Array常用方法 在入门Vue时, 列表渲染一节中提到数组的变异方法, 其中包括push(), pop(), shift(), unshift(), splice(), so ...

  10. Javascript中Array(数组)对象常用的几个方法

    Javascript中Array数组的几个常用方法 pop()  --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice()  --按照下 ...

随机推荐

  1. DevExpress Cpicturebox或者Dev控件 PictureEdit 按比例的缩放加载图片

    方法一:     如果要加载的图片的长宽比不是太过失衡, 1.可以改变picturebox的SizeMode属性为 PictureBoxSizeMode.StretchImage, 2.或者Dev控件 ...

  2. ML(附录2)——最小二乘法

    参见  :多变量微积分笔记2——最小二乘法

  3. python实现切换代理ip

    大量的处理爬虫的时候,IP地址容易被封掉,这个时候可以使用代理IP来帮助完成接下来的任务了 使用Requests模块来完成请求,代码如下: import urllib.requestimport re ...

  4. Docker和Rancher

    Docker打包流程: Dockerfile文件和要打包docker的文件放在同级目录下: 1. docker build -t proj:proj-app:0.0.1 返回tagXXX 2. doc ...

  5. Linux下C与Mysql的混合编程(转)

    1 概述 MySQL 是一个关系型数据库管理系统.由瑞典MySQL AB公司开发,眼下属于Oracle公司.MySQL是最流行的关系型数据库管理系统. 支持AIX.FreeBSD.HP-UX.Linu ...

  6. 删除JavaScript对象中的元素

    参考http://stackoverflow.com/questions/208105/how-to-remove-a-property-from-a-javascript-object 通过dojo ...

  7. 在Python中调用Java扩展包HanLP测试记录

    最近在研究中文分词及自然语言相关的内容,关注到JAVA环境下的HanLP,HanLP是一个致力于向生产环境普及NLP技术的开源Java工具包,支持中文分词(N-最短路分词.CRF分词.索引分词.用户自 ...

  8. 由于未能创建Visual C# 2015编译器,因此未能打开项目xxx。请重新安装Visual Studio。

    解决方案1: 清除如下文件夹里的内容. %AppData%\Local\microsoft\VisualStudio\14.0\ComponentModelCache or  C:\Users\DEL ...

  9. Centos 7 systemctl和防火墙firewalld命令

    今天自己在Hyper-v下搭建三台Linux服务器集群,用于学习ELKstack(即大数据日志解决技术栈Elasticsearch,Logstash,Kibana的简称),下载的Linux版本为cen ...

  10. 【python】多线程详解

    一.进程与线程关系 一个进程至少包含一个线程. 二.线程基础 1.线程的状态 线程有5种状态,状态转换的过程如下图所示: 2.线程同步(锁) 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样) ...