JS基础学习07

19.4 Array数组API补充

1. Array.reverse():将数组内的数据顺序翻转,返回一个翻转后的新数组。

API说明:

/**
@return {Array.<T>} //返回一个数组。
*/
Array.prototype.reverse = function() {};

2. Array.filter(function(element,index,salarys){}): 遍历数组中的所有元素,将数组内的数据按函数内要求过滤,函数中返回true的留下,返回falser过滤掉,返回一个过滤完的新数组。如:

var newSalarys = salarys.filter(function(element,index,salarys){

console.log(element); // 数组中的每一项元素

console.log(index);//数组中每个元素的索引

console.log(salarys);//当前数组

});

API说明:

/**
@param {function(T=, number=, Array.<T>=)} callback //需设置一个回调函数。
@param {*} [thisArg] //可选参数,也可以不选。
@return {Array.<T>} //返回一个函数。
*/
Array.prototype.filter = function(callback,thisArg) {};

3. Array.foreach(function(element,index,salarys){}): 这个API只做循环遍历数组每一项的功能,并可以通过函数内的代码来输出数组中的每一项及每一项的索引,但是这个API无返回值或者是说返回值为undefined。

API说明:

/**
@param {function(T=, number=, Array.<T>=)} callback //需设置一个回调函数。
@param {*} [thisArg] //可选参数,也可以不选。
@return {void} //返回一个无效值。
*/
Array.prototype.forEach = function(callback,thisArg) {};

4. Array.indexOf(searchElement,fromIndex);返回数组中某个元素的索引位置,如果只有一个参数searchElement,则是默认fromIndex从索引为0的位置开始查找,如果有第二个参数fromIndex,则从参数的索引开始往后查找与searchElement相同的元素,并返回这个元素的索引。如果没有元素与searchElement相同,则返回-1.

API说明:

/**
@param {T} searchElement //需要选择的元素。
@param {number} [fromIndex] //查找时的初始索引位置。
@return {number} //返回查找到的元素的索引位置。
*/
Array.prototype.indexOf = function(searchElement,fromIndex) {};

5. Array.slice(start,end): 截取数组中的元素组成一个新数组并返回,不改变原数组。

  1 [start,end) 第一个参数是开始截取的索引位置,第二个是终止截取的索引位置,但是取不到第二个索引对应的值。

  2 当只有一个参数时,这个参数为开始截取的索引位置,并从这个索引位置开始截取到最后的元素。

  3 当第二个值小于第一个值是,截取的数据为空,并返回空数组。

  4 当只有一个参数的时候,并且这个参数为负数的时候,就相当于开始截取的索引为Array.length+这个参数的值,并截取后面所有的元素。

  5 当第二个值为负数的时候,这终止截取的索引为Array.length+这个参数的值.但是取不到第二个索引对应的值。

API说明:

/**
@param {Number} [start] //开始截取的索引位置。
@param {Number} [end] //终止截取的索引位置。
@return {Array.<T>}//返回一个数组。
*/
Array.prototype.slice = function(start,end) {};

6. Array.splice(start,deleteCount,items):

  1 删除数组内的元素:只有start,deleteCount两个参数时为删除功能,第一个参数为开始截取的索引位置,第二个参数是截取元素的数量,返回一个由被截取的元素组成的新数组,原数组的对应元素将被删除。

  2 替换数组中的元素:start,deleteCount,items三个参数都存在时就相当于将原数组中的元素替换成新元素的功能。第一个参数为开始截取的索引位置,第二个参数是截取元素的数量,并返回一个由被截取的元素组成的新数组,对于原数组先将被截取的元素删除,再讲items中的新元素填充到截取的位置,被截取的元素数量与补充进来的元素数量可以不一致。

API说明:

/**
@param {Number} [start]//开始截取的索引位置。
@param {Number} [deleteCount]// 需要截取元素的数量。
@param {...T} [items] //替换的元素。
@return {Array.<T>}//返回一个数组。
*/
Array.prototype.splice = function(start,deleteCount,items) {};

20. 清空数组的方式

20.1 array.splice()的方法:从0截取,截取的数量为整个数组的元素数量,即arr.length.

20.2 改变数组长度的方法:让数组的长度变为0,来清空数组。

20.3 直接重新赋值一个空数组,并且一般编程当中都是使用这个方法。

21.字符串string的属性和方法

我们可以将字符串看成由许多字符组成的数组,这时它会拥有许多数组的属性和方法:

21.1 string.length属性

可以通过string.length的属性来查看字符串的字符长度,并且还可以使用循环语句来遍历字符串中所有的字符。

21.2 String.concat(strings) 连接两个字符串

通过string1.concat(string2)的方法将字符串1和2连接起来。

API说明:

/**
@param {...string} [strings]//参数为字符串。
@return {string}//返回一个新的字符串。
*/
String.prototype.concat = function(strings) {};

21.3 string.slice (start,end)

字符串中的slice用法和数组中的用法一致。

21.4 string.substring(start,end)

与slice的用法基本一致。

区别在于特殊用法:当两个参数的时候,并且第二个参数为负数时,则第二个参数相对于0,而这时会从索引为0 的元素开始截取,第一个参数为终止截取的索引位置,并且截取不到这个值,将截取到的元素组成新的数组返回.

/**
@param {Number} start //开始截取的索引位置。
@param {Number} [end]//终止截取得到索引位置。
@return {string}//返回一个新的字符串。
*/
String.prototype.substring = function(start,end) {};

21.5 string.substr(start,length)

  1 两个参数的时候,第一个参数为开始截取的索引位置,第二个参数为截取的元素数量。并将截取到的元素组成的新数组返回。

  2 一个参数的时候,第一个参数为开始截取的索引位置,并从这个索引位置开始截取到最后的元素。并将截取到的元素组成的新数组返回。

  3 一个参数的时候并且参数为负数时,就相当于以array.length+这个参数的值为开始截取的索引位置,并往后截取后面的所有元素。并将截取到的元素组成的新数组返回。

  4 两个参数的时候并且第二个参数为负数时,就相当于截取元素数量为零,所以截取结果为空,返回空数组。

API说明:

/**
@param {Number} start//开始截取的索引位置。
@param {Number} [length]//截取字符的数量。
@return {string}//返回一个新字符串。
*/
String.prototype.substr = function(start,length) {};

21.6 string.split (separator,limit)

用某个字符将字符串中的字符分割变成数组中的一个或多个元素,也就是字符串转换为数组。

separator分隔符应为字符串中出现的字符或者为“”空字符串,不然会将字符串整体转换为一个元素。

API说明:

/**
@param {*} separator//分隔符类型。
@param {Number} [limit]
@return {Array}//返回一个新的数组。
*/
String.prototype.split = function(separator,limit) {};

21.7 string.charAt(获取字符串中指定索引位置的字符)

API说明:

/**
@param {Number} pos//指定的索引位置。
@return {string}//返回该位置的字符。
*/
String.prototype.charAt = function(pos) {};

21.8 string.charCodeAt(获取字符串中指定索引位置的字符的ASCII码值)

API说明:

/**
@return {Number}//返回一个ASCII码值。
*/
String.prototype.charCodeAt = function(index) {};

21.9 字符串转换大小写

var str = "helloWMMMAorld";
console.log(str.toUpperCase());//将字符串中所有字符转换为大写。
console.log(str.toLocaleUpperCase());//将字符串中所有字符转换为大写。
console.log(str.toLowerCase());//将字符串中所有字符转换为小写。
console.log(str.toLocaleLowerCase());//将字符串中所有字符转换为小写。

21.10 去除字符串前后的空格 string.trim()

API说明:

/**
@return {string}//返回一个新字符串。
*/
String.prototype.trim = function() {};

21.11 string.replace()  替换字符串里面字符

这个方法有两个参数,

第一个参数searchValue为需要被替换的元素,第二个参数replaceValue为替换后的元素。但这个方法只能替换第一个与searchValue参数相同的元素。

可以通过正则方式来实现全部替换:

第一个参数通过/a/g(g代表global全局的意思)的表示方式来替换字符串中所有与参数searchValue相同的元素。

API说明:

/**
@param {RegExp|string} searchValue//需要替换的字符。
@param {string|function} replaceValue//替换后的字符。
@return {string}//返回一个新的字符串。
*/
String.prototype.replace = function(searchValue,replaceValue) {};

时间: 2024-11-13 23:51:55

JS基础学习07的相关文章

python基础学习07(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #file与input output #文件对象 #简单说来,就是写入和读取的方式 #file(),open()2个操作都是一样的,一般推荐open() #语法 # open(name[, mode[, bufferin

js基础学习笔记(二)

2.1  输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出""号内的内容. <script type="text/javascript"> document.write("I love JavaScript!"); //内容用""括起来,""里的内容直接输出.

js基础学习笔记(一)

* 在js编写过程中,尽量保持统一使用单引号 'XXXX': * 所有变量都要声明 var,避免全局函数调用的冲突: 1.1    输出内容 docment.write(‘aileLi’); 改变某ID元素样式 docment.getElementById(‘ID’).style.color=’样式参数’; 1.2   输出弹出框 alert(‘aileLi’); 1.5  什么是变量?  从字面上看,变量是可变的量: 从编程角度讲,变量是用于存储某种/某些数值的存储器. 定义变量使用关键字va

js基础学习笔记(三)

3.1 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码: 将HTML代码分解为DOM节点层次图: HTML文档可以说由节点构成的集合,三种常见的DOM节点: 1. 元素节点:上图中<html>.<body>.<p>等都是元素节点,即标签. 2. 文本节点:向用户展示的内容,如<li>...</li&g

JS 基础学习整理

心得:   很多人都说JS的话其实是挺难的,但是也是很重要的,这句话其实一点都没错,就像这几天学习的js基础,刚开始基本学的就是一个框架和简单的算法思想就已经抬升了很大的一个难度阶级,对像我这类数学思维不是很好的人来说,其实就更是一个挑战了,但是,没有谁生来就会的,虽然我们的算法思维不是很好,但是,希望能在更多的练习中找到这种题型的解决方式,别人敲三道,我们可以敲五道,只希望在更多的练习中去克服这个难点,慢慢的去培养这种算法思想. 就这前面三天学的JS课程来说,其实比较难的也就是循环,很多时候怎

JS 基础学习随想

2012年就已经接触过了js,给我的印象:这是一门谈不上复杂的语言.大概这就是所谓的学的越浅,用的越少,觉得自己会的东西好像得更多吧!开始做基础练习题的时候觉得好像都十分简单.可是后来在做到对象数组的部分还是遇到了问题,接着发现自己其实并不非常了解js.首先来说说我在codefordream基础学习的情况吧 基础部分主要学习的有:注释符号,数据类型,算数运算,逻辑术语,判断语句,循环语句,及function. 简单的可以说说的是,由于长期使用其他语言的原因,js对于数组的遍历其实有一点区别: 最

Vue.js 基础学习 v-on 指令

在前面的基础学习中已经写了v-for和v-bind两个指令 今天学习v-on指令 v-on指令:用来绑定事件的body中 <div id="app"> </div> script中 var app = new Vue({ el : '#app', methods : { } }) 在div app中加入一个button并绑定一个点击事件 <button v-on:click="onClick">点我</button>

Vue.js 基础学习

今天我开始了Vue.js 的学习. 那么什么是Vue.js 呢? Vue.js是一套开发Web页面的JavaScript脚本框架.听起来感觉很难,不过据说,Vue.js是Web-Javascript脚本框架中最容易上手的框架.所以我便选择了先来学习这个. 要学习Vue.js首先就要获取库文件了,在网上有很多地方可以找到,我是在bootcdn上找到的 接下来我们通过Vue输出一串Hello World ! 首先引入vue. <script src="https://cdn.bootcss.c

JS基础学习(一)

JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个