数组

检测数组(返回布尔类型

  a、 instanceof(); 检测是否是数组对象

console.log(arr instanceof Array) ;

  b、 Array.isArray() ,H5新方法

查找元素所在的索引 indexOf()  

     arr.indexOf("要查看的元素"); 从前往后

       arr.lastIndexOf(“要查找的元素”);  从后往前

              返回索引位置,找到立即返回,一次查找一个。找不到则返回-1.

转换数组

  a、 arr.toString();  把数组变换成字符串 /需要一个新的变量接受返回值,不改变原数组,数组中的逗号也会被转换成新元素的值

  b、 valueof(): 返回数组本身     数组本身 = 数组.valueOf();

join  连接数组

  a) arr = arr.join() ;

  b)把数组元素用 “连接符”  (用“”标示出来的符号)连接成字符串

  c)需要新变量来接收,不修改原数组

  d)参数决定用什么连接

  e)无参数默认用逗号连接

  f)用空字符串“”可以无缝连接每个元素,用“ ”中间添加空格,即可使用空格隔开

    

    var arr = ["虹猫","蓝兔","赵四"];
var str1 = arr.join();
var str2 = arr.join(" ");//如果用空格的话,那么元素之间会有一个空格
var str3 = arr.join("");//用空字符串,链接元素,无缝连接
var str4 = arr.join("&");

argument、伪数组

  a、只在函数中使用,实参的数组

  b、伪数组,不能修改数组长度

  c、允许修改值,长短不可修改

    fn(,,,);
function fn(a,b){
arguments[]= "我已经把1替换为了我";
console.log(arguments); //输出此数组
console.log(fn.length); // 形参的个数
console.log(arguments.length); // 输出此数组的实参个数
// arguments.push("此处将输出错误,");
console.log(arguments instanceof Array); // 将输出false
// console.log(arguments.callee); // 打印出整个函数 包括注释
}

栈操作  --   先进后出

    arr = arr.push;  在最后面插入返回数组的长度可以插入数组

    arr = arr.pop;   去除最后一项/返回减去的这个元素

队列操作 --  先进先出

    arr = arr.shift ;    删除第一个数组的元素,返回被删除的元素;

    arr = arr.unshift ;   在第一个数组元素前添加一个元素,返回新数组的长度

 反转、排序 方法

    arr = arr.reverse() ;  反转数组,返回新数组,但是原数组也会被修改 [rɪ'vɜːs]

    arr = arr.soft() ;  将数组排序,默认为按照首字母的unicode编码值排列,返回的新数组元素会从小到大排。

           回调函数可以实现按你设置的规则排列     

    var arr = [,,,,,,];
console.log(arr.sort(function(a,b){
return a-b; //设置规则 正序, 底层是arr[a] - arr[a+1] > 0 ; 然后将其互换
return b-a; // 倒序
}));
  console.log( "b".charCodeAt()); //获取元素的unicode编码

    arr = arr.concat(arr2);    concat 合并数组

        var arr1 = ["a","b","c"];
var arr2 = [111,22,3]; var arr3 = arr1.concat(arr2);

    arr = arr.slice(开始的位置 ,结束的位置)    截取数组元素,给予负值是从尾部开始截取      

                  需注意,结束的位置,指的是第几个元素,而不是取几个位置;

    ar =  arr.splice(开始截取的位置,截取的数量,弥补的值);    弥补的值可以是元素,也可是数组

                          若放数组,则会把数组整体放入  形成二维数组 || 截取的值是从第几个元素后边开始

                          不写弥补的值,则原数组会被删减/可使截取的数量为0,弥补的值即可自我调配

var arr=[,,,,,,,,,];

var ar = arr.splice(,,"a","b","c");
alert(ar); // [3,4,5]
alert(arr);     // [0,1,2,3,a,b,c,7,8,9]
//        删除数组中大于2000的数
var arr = [1500,1200,2000,2100,1800,2222,3333,1111,221];
fn(arr);
function fn(){
for(i=0;i<arr.length;i++){
if(arr[i]>=2000){
arr.splice(i,1);
alert(arr);
i =i-1;
}
}
}
 

数组遍历的方法 ,对数组元素进行某项操作

  a) arr.every( function ( item,index, arr){ } ) ;

    1.返回一个boolean值,参数是回调函数

    2.对每个数组元素都进行如下函数

    3.若有一项返回false则every返回false并在返回false后停止运行

     var arr=[0,1,2,3,4,"我是第6个元素5",6,7,8,9];

     var bool = arr.every(function(item,index,array){
// item = "abc"; // 每个元素都在取出后被替换为abc
// array[index] ="abc"; //数组的元素直接被替换为abc
//
// console.log(item);
// console.log(index);
// console.log(array);
if(item.length>2){
return false;
}
return true;
});
alert( bool);

操控数组元素

  b) arr.some(function(element,index,array){ } ) ;

    1.有一项返回true 则返回true;

    2.返回true函数停止运行。

  c) arr.filter(function(element,index,array){ } ) ;

    返回一个新数组 ;

  d) arr.forEach(function(element,index,array){ } ) ;

    遍历数组(无返回值,为数组中的元素都执行某个函数);无法停止!!

 var arr=[0,1,2,3, ,"我是第6个元素5",6,7,8,9];

 function logArrayElements(element, index, array) {
console.log("a[" + index + "] = " + element);
} arr.forEach(logArrayElements);

  e) arr.map(function(element,index,array){   } ) ; 对元素进行函数运算,每个返回的值组成一个新的数组。

清空数组

  一、  arr.splice(0);

   二、  arr.length = 0;  // 伪数组不适用

  三、  arr = [ ] ;  // 重新赋值

测试数组中的重复元素次数

//测试数组中的重复元素次数
var arr = ["亚洲","气质舞王","尼古拉斯","赵四","亚洲",22,22,22,22,22];
fn(arr); function fn(arr){
var len=[]; // 用来计数
var ar = new Array(); // 用来收藏arr都有哪几种元素
// 外循环控制轮数
for (i=0;i<arr.length;i++){
// 若新数组ar里没有arr的元素
if(arr[i] !== ar[ar.length]) {
// 就把此元素储存到ar中
ar[ar.length] = arr[i];
len[i] = 0; // 初始化数组元素,否则将显示NAN
// 将每个arr数组元素都与组装的数组ar比较
for(y=0; y<arr.length;y++){
if (arr[y] == ar[i]){
// 相等则计数器加1
len[i] += 1 ;
}
}
console.log("元素arr["+ar[i]+"]出现的次数是"+len[i])
}
}
}

 

javascript 数组的部分常用属性用法的更多相关文章

  1. javaScript数组的三种属性—数组索引、数组内置属性、数组自定义属性

    JS数组也是一种对象. 我们用JavaScript处理的所有东西,都可以视为是一种对象. JavaScript中有两种数据类型,基本类型数对象类型,但是基本类型基本都是包括在对象类型之中的. 数组.函 ...

  2. JavaScript之Object对象常用属性与方法手册

    MDN Object参考地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Obje ...

  3. Javascript数组与字符串常用api

    目录 javaScript(api学习) 数组有关的api 创建数组 数组的增删改查 indexOf(); push(),pop(),unshift(),shift() forEach() map() ...

  4. JavaScript 数组中根据某个属性值的中文进行排序

    普通排序 const arr = [] arr.sort((x, y) => x.prop - y.prop) 中文属性值排序 const arr = [] arr.sort((x, y) =& ...

  5. JavaScript数组常用操作

    前言 相信大家都用惯了jquery或者underscore等这些类库中常用的数组相关的操作,如$.isArray,_.some,_.find等等方法.这里无非是对原生js的数组操作多了一些包装. 这里 ...

  6. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  7. javascript数组常用的遍历方法

    本篇文章给大家带来的内容是关于javascript数组常用的遍历方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 本文主要介绍数组常见遍历方法:forEach.m ...

  8. JavaScript对象的常用属性及使用

    什么是浏览器对象模型? 浏览器对象模型(BOM Browser Object Model)是JavaScript的组成之一,它提供了独立于内容和浏览器窗口进行交互的对象,使用浏览器对象模型可以实现与H ...

  9. JavaScript数组常见用法

    最近做一个项目中做一个竞猜游戏界面,游戏规则和彩票是一样的.在实现“机选一注”,“机选五注”的时候遇到数组的一些操作,例如产生['01', '02' ... '35']这样的数组,随机抽取不重复的元素 ...

随机推荐

  1. 初探Lambda表达式/Java多核编程【1】从集合到流

    从集合到流 接上一小节初探Lambda表达式/Java多核编程[0]从外部迭代到内部迭代,本小节将着手使用"流"这一概念进行"迭代"操作. 首先何为" ...

  2. 支撑Pinterest日均1000+次试验的A/B测试平台揭秘

    编者按:本文详细介绍了 Pinterest 内部A/B测试平台的搭建过程,对于无论是有技术能力和资源想要自建A/B测试系统的大公司,还是想在业务中引入第三方A/B测试方法和工具的中小公司都极具参考意义 ...

  3. arcpy.mapping常用四大件-MapsurroundElement

    arcpy.mapping常用四大件-MapsurroundElement by 李远祥 在arcpy.mapping 中,除了数据入口MapDocument.图层Layer之外,另一重要的角色就是M ...

  4. 西瓜书概念整理(chapter 1-2)

    括号表示概念出现的其他页码, 如有兴趣协同整理,请到issue中认领章节 完整版见我的github:ahangchen 觉得还不错的话可以点个star ^_^ 第一章 绪论 Page2: 标记(lab ...

  5. PL/SQL基本概念

    首先明确PL/SQL主要作用作用: SQL语言适合管理关系型数据库但是它无法满足更复杂的数据处理,所以产生PLSQL.PLSQL用户创建存储过程.函数.触发器.包及用户自定义的函数. 特点: PLSQ ...

  6. Spring DM所提供的Bundle监听接口OsgiBundleApplicationContextListener

    通过使用Spring DM提供的监听接口,我们可以更好的对服务进行管控,其实该接口也非常简单就能使用上,只要自定义一个类实现OsgiBundleApplicationContextListener接口 ...

  7. Spring的bean管理(注解)

    前端时间总是用配置文件  内容太多 下面认识一下注解 注解是什么? 1代码里面的特殊标记,使用注解可以完成功能 2注解写法@XXX 3使用注解可以少些很多配置文件 Spring注解开发准备 注解创建准 ...

  8. 使用Python以优雅的方式实现根据shp数据对栅格影像进行切割

    目录 前言 涉及到的技术 优雅切割 总结 一.前言        前面一篇文章(使用Python实现子区域数据分类统计)讲述了通过geopandas库实现对子区域数据的分类统计,说白了也就是如何根据一 ...

  9. 前端福利:使用Wallpaper Engine让自己的桌面炫酷起来

    Wallpaper Engine,是一款Steam上的特别特别炫酷的壁纸定制软件.它可以对你的桌面进行定制,可以使用视频,动画,网页等形式来替换壁纸. 注意到没,关键是可以使用Html格式的文件作为桌 ...

  10. abp zero sample

    测试运行地址:http://ghy.demo.aspnetzero.com 账号:admin  密码:123456 需要源码,请加QQ:858-048-581 一.用户管理 二.日志记录 1.先编译成 ...