重头再学JS(3)— 引用类型

Object

  • 获取字符串中的单个字符

    字符串.charAt(index);字符串[index];      // 推荐使用
  • 字符串的拼接 和 截取
    // 拼接字符串.concat(str1,str2,str3...);拼接符 +     //推荐使用?// 截取字符串.slice(star,end);
  • 查询字符是否在字符串中存在
    字符串.indexOf(); 字符串.lastIndexOf();
  • 去除空白符
    字符串.trim();  // 去除字符串两边的空格
  • 字母字符大小写转换
    字符串.toUpperCase();  // 转换大写 重点字符串.toLowerCase();  // 转换小写 重点
  • 字符串替换
    字符串.replace(newStr,oldStr);
  • 字符串分割
    字符串.split(sp);  // 把一个字符串分割成字符串数组。

判断一个字符串中出现最多的字符和出现的次数

  <script>
    /* 判断一个字符串中出现最多的字符和出现的次数 */

    var str = ‘aabbccddd‘;
    var obj = {}; /* 定义一个空的对象来接收结果 */
    for (var i = 0; i < str.length; i++) {
      /* charAt获取字符串的索引 */
      /* 判断obj是否存在一个为 obj[str.charAt(i)] 的键
         如果不存在,那么就添加这个键,并且赋值为 1
         如果已经存在这个键,那么就给这个键的值加1 */
      if (!obj[str.charAt(i)]) {
        obj[str.charAt(i)] = 1;
      } else {
        obj[str.charAt(i)]++;
      }
    }
    console.log(obj);
    /* 假设一个为0的值 和 一个空的字符串来存放键
    for in 遍历obj对象 然后把每一个值和max对比
    然后获取最大的值max 和 最大值对应的键maxno */
    var max = 0;
    var maxno = ‘‘;
    for (var k in obj) {
      if (obj[k] > max) {
        max = obj[k];
        maxno = k;
      }
    }
    console.log(max + ‘ ‘ + maxno);
  </script>

Array

向数组前后添加元素
//  向数组的开头添加一个或更多元素,并返回新的长度。【原数组会发生变化】
数组名.unshift(newelement1,newelement2,....,newelementX);
// 向数组的末尾添加一个或更多元素,并返回新的长度 【原数组会发生变化】
数组名.push(newelement1,newelement2,....,newelementX); 
从数组前后删除元素
// 删除并返回数组的第一个元素 【原数组会发生变化】
数组名.shift();
// 删除并返回数组的最后一个元素 【原数组会发生变化】
数组名.pop();
数组任意位置的添加、删除
// 向/从数组中添加/删除项目,然后返回被删除的项目。【原数组会发生变化】
数组名.splice(index,howmany,item1,.....,itemX)
参数:
    index 从哪个位置开始删    数字
    howmany 删除几个    数字
    item1,.....,itemX   新添加的数据(可以是多个)  可选

 var arr = [1,2,3];
 console.log(arr.splice(2,0,4,5,6));
 console.log(arr);
数组元素的查询
// 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
数组名.indexOf(searchElement); 【用的较多】
// 返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找
数组名.lastIndexOf(searchElement);
数组的反转 和 排序
// 颠倒数组中元素的顺序。返回颠倒后的数组 【原数组会发生变化】
数组名.reverse();

// 对数组的元素进行排序
数组名.sort();   // 默认排序顺序是根据字符串Unicode编码 【了解】

数组名.sort(function(a,b){    //【重点】
  return a - b;   // 升序(从小到大)
})

数组名.sort(function(a,b){    //【重点】
  return b - a;   // 降序(从大到小)
})
数组截取
// 从已有的数组中返回选定的元素。【截取后,不会改变原数组,而是返回新的数组】
数组名.slice(start,end);
数组元素的拼接
// 用于把数组中的所有元素放入一个字符串。
数组名.join(separator);
var arr = [ 1, 2, 4, 90, 67, 5, 434, 64];
var str = arr.join(‘?‘);
console.log( typeof arr);//object类型
console.log( str);
用于连接两个或多个数组

语法:arr.concat(arrayX,arrayX,......,arrayX)

返回值:返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arr中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

// 案例一
var a = [1,2,3];
console.log(a.concat(4,5)); //[1,2,3,4,5]
// 案例二
var arr =[‘one‘,‘two‘,‘three‘];
var arr1 = [‘four‘,‘five‘,‘six‘];
console.log(arr.concat(arr1)); // ["one", "two", "three", "four", "five", "six"]
// 案例三
var arr =[‘one‘,‘two‘,‘three‘];
var arr1 = [‘four‘,‘five‘,‘six‘];
var arr2 = [‘seven‘,‘eight‘,‘nine‘];
console.log(arr.concat(arr1,arr2)); //["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
迭代方法
// 数组遍历
数组名.forEach(function(value,index,currentArray){
  console.log(value);
});
/*第一个参数是遍历的数组内容
  第二个参数是对应的索引
  第三个参数数数组本身 */
        let arr = [1,2,3,4,5,6,5,4];
        var everyResult = arr.every(function(item,index,array){
            return (item > 2)
        })
        // 判断数组中的每一项都符合return后的条件,返回 true & false
        console.log(everyResult)

        var someResult = arr.some(function(item,index,array){
            return (item > 2)
        })
        // 判断数组中的每一项只要有一项符合return后的条件,返回 true & false
        console.log(someResult)

        var filterResult = arr.filter(function(item,index,array){
            return (item > 2)
        })
        // 判断数组中的项符合条件,符合的项组成一个新的数组
        console.log(filterResult)

        var mapResult = arr.map(function(item,index,array){
            return (item - 2)
        })
        // 对数组的每一项进行相同的计算,返回新数组
        console.log(mapResult)

原文地址:https://www.cnblogs.com/houfee/p/9894318.html

时间: 2024-10-28 15:19:39

重头再学JS(3)— 引用类型的相关文章

重头再学JS(1)— 数据类型和函数

弱类型动态解释型语言 弱类型:类型间转换不需要显示进行,随着环境的不同可自动变化类型. 解释型:JS引擎执行代码是逐行解释每一句源码,所以 JavaScript语言 归为 "解释型语言". 数据类型 简单数据类型 简单数据类型 说明 默认值 Number 数值类型,包含 整型值和浮点型值,如 21.0.21 0 String 字符串类型,如 'James' '' Boolean 布尔值类型,如 true .false,等价于 1 和 0 false Undefined var a; 声

再议 js 数字格式之正则表达式

原文:再议 js 数字格式之正则表达式 前面我们提到到了js的数字格式<浅谈 js 数字格式类型>,之前的<js 正则练习之语法高亮>里也提到了优化数字匹配的正则.不过最近落叶给了我一个正则,让我豁然开朗,比我写的犀利多了,所以今天拿出来简单说一下(只说十进制部分的匹配). 先看下我之前写的正则:/\d+(?:\.\d+)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?/落叶在 jQuery 中发现的正则: /(?:\d*\.|)\d+(?:[eE

编程初步————学渣再学C语言之路

内存: 程序在执行时,程序的指令和数据都必须存储到主内存中,也可以说存在RAM(随机访问存储器)中,RAM是易失性存储器,PC关闭,RAM内容丢失: 变量是什么? 变量就是计算机的一块特定的内存,有一个或多个连续的字节组成,当然每个变量都会有一个名字叫变量名,就像一个ID,一个身份证号码,这个变量名独一无二的代表着这块内存空间,编译器就可以通过这个ID来直接调用这块内存里存储的数据了,这也很好的解释了变量名不占内存空间,编译器直接就把他翻译成了数据: 变量的声明其实也可以称为变量的定义,按照声明

js之引用类型

一.摘要: <javascript高级程序设计第三版>一书中单独有一章对js的引用类型(Object.Array.RegExp.Function:基本包装类型:Boolean.Number.String:单体内置对象:Global.Math)做了详细的介绍,这里不会详细的总结各种引用类型的使用方法,主要是总结引用类型中toString().valueof().toLocalString()方法的使用. 二.总结: <javascript高级程序设计第三版>中对js中的object类

再学C/C++ 之 浅析gdb的-g选项

浅析gdb的-g选项 准备 gdb是Linux下学习C/C++最常用的debug工具.要使用这一强大工具,必须在编译时加上-g选项,生成的目标文件才可以用gdb进行调试. 如,先创建一个test.c文件,内容为: 1 #include <stdio.h> 2 3 int main(void){ 4 int a[2]; 5 a[0] = 1; 6 a[1] = 2; 7 return 0; 8 } 使用编译语句,进行编译: gcc -g test.c -o test.out 浅析-g选项 -g选

C++结构体再学心得

自己定义一个结构体,使用struct关键字 struct student { char name[20]; int age; int num; }; 定义好结构体,student就相当于变量类型,我们可以直接用来定义一个student类型的变量: student A; 也可以直接在定义结构体的时候直接进行定义变量: struct student { char name[20]; int age; int num; }A; 这个结构体可以通过sizeof(student)来获得变量类型所占用的诶村

java之j2se:再学java对象容器

今天是开学第一天,按照上学期的讲课进度,本该是可以开始学习多线程了,但是由于换了老师,可能交接方面有点出入,又给我们讲授了一遍java对象容器,所以这也是为什么题目为"再学". 本文目录: 集合的主要用途 单值类集合:List类与Set类 键值对类集合:Map类 集合的主要用途:集合主要在查询数据返回的时候常用.比如要使用jsp做一个学生信息管理系统,需要从数据库中返回查询学生的结果,把这些结果放入一个集合里,再通过方法返回,在显示层(view)可以使用jsp标签来把他们显示出来. 单

重头开始学23种设计模式:单例模式

最近感觉做程序又开始浑浑噩噩,对设计模式和算法基本了解,但基本不会用.所以打算最近1个月把设计模式和算法重新,温故而知新下. 首先从程序开发经常涉及到的23种设计模式开始,希望这次能更加熟练的运用设计模式来加强自己的开发能力. 首先从单例模式开始: 单例模式在我的理解是对程序对象的缓存,防止不断new,保持对象唯一性,提高程序性能. namespace SinglePattern { class Program { static void Main(string[] args) { for (i

准备推翻从来 学js啦

初级读物:<JavaScript高级程序设计>:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买.<JavaScript王者归来>百度的一个Web开发项目经理写的,作为初学者准备的入门级教程也不错.中级读物:<JavaScript权威指南>:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买.<JavaScript.The.Good.Parts>:Yahoo大牛,Java