JS删除数组元素的函数介绍,js中通过split函数分

时间:2019-08-02 08:26来源:2020欧洲杯冠军竞猜官方网站
复制代码 代码如下: split将字符串转为数组并输出的代码: 1.string Array Date Math 内置对象的属性和方法? script language="javascript" str="2,2,3,5,6,6"; //这是一字符串 var strs= new Array(); //定义一数

复制代码 代码如下:

split将字符串转为数组并输出的代码:

1.string Array Date Math 内置对象的属性和方法?

<script language="javascript">
str="2,2,3,5,6,6"; //这是一字符串
var strs= new Array(); //定义一数组

复制代码 代码如下:

 

strs=str.split(","); //字符分割
for (i=0;i<strs.length ;i )
{
document.write(strs[i] "<br/>"); //分割后的字符输出
}
</script>

<script language="javascript">   
function spli(){   
         datastr="2,2,3,5,6,6";      
  var str= new Array();  
  str=datastr.split(",");      
    for (i=0;i<str.length ;i )   
    {   
        document.write(str[i] "<br/>");   
    }   
}   
spli();   
</script> 

答案:

JS中split的用法

js删除数组元素:

 

复制代码 代码如下:

var arr=['a','b','c'];
若要删除其中的'b',有两种方法:

  ①String 字符串

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";
<html xmlns=";
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>split</title>
<script type="text/javascript">
var array;
function getString(str){
 array = str.split("|");
 document.getElementById("userName").value = array[0];
 document.getElementById("userAge").value = array[1];
}
</script>
</head>

1.delete方法:delete arr[1]

 

<body onload="getString('周晓白|22')">
<input type="text" id="userName" name="userName" /><br /><br />
<input type="text" id="userAge" name="userAge" />
</body>
</html>

这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用

     属性 :length  获取字符串长度  

JS删除数组元素

复制代码 代码如下:

 

var arr=['a','b','c'];
若要删除其中的'b',有两种方法:

for(index in arr)
{
   document.write('arr[' index ']=' arr[index]);
}

     方法:

1.delete方法:delete arr[1]
这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用
for(index in arr)
document.write('arr[' index ']=' arr[index]);
这种遍历方式跳过其中undefined的元素

这种遍历方式跳过其中undefined的元素

 

* 该方式IE4.o以后都支持了

* 该方式IE4.o以后都支持了

  indexOf()  从左到右检索子字符串在原字符串第一次出现的位置

2.数组对象splice方法:arr.splice(1,1);
这种方式数组长度相应改变,但是原来的数组索引也相应改变
splice参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素
第二个1,是删除元素的个数,在此只删除一个元素,即'b';
此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在
数组中并不保留

2.数组对象splice方法:arr.splice(1,1);
这种方式数组长度相应改变,但是原来的数组索引也相应改变
splice参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素
第二个1,是删除元素的个数,在此只删除一个元素,即'b';
此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在
数组中并不保留

 

* 该方法IE5.5以后才支持

* 该方法IE5.5以后才支持

  返回一个整数值,之处String对象内开始查找的字符串开始位置  如果没有找到  返回 -1 

值得一提的是splice方法在删除数组元素的同时,还可以新增入数组元素
比如arr.splice(1,1,'d','e'),d,e两个元素就被加入数组arr了
结果数组变成arr:'a','d','e','c'

值得一提的是splice方法在删除数组元素的同时,还可以新增入数组元素
比如arr.splice(1,1,'d','e'),d,e两个元素就被加入数组arr了
结果数组变成arr:'a','d','e','c'

 

您可能感兴趣的文章:

  • JavaScript自定义函数实现查找两个字符串最长公共子串的方法
  • js判断一个字符串是否包含一个子串的方法
  • js判断出两个字符串最大子串的函数实现方法
  • JS使用正则表达式找出最长连续子串长度
  • 在JavaScript中访问字符串的子串
  • JavaScript检查子字符串是否在字符串中的方法
  • JavaScript判断一个字符串是否包含指定子字符串的方法
  • javascript查找字符串中出现最多的字符和次数的小例子
  • JavaScript计算字符串中每个字符出现次数的小例子
  • javascript下搜索子字符串的的实现代码(脚本之家修正版)
  • JavaScript实现求最大公共子串的方法

JavaScript通过设置数组的length属性来截断数组是惟一一种缩短数组长度的方法.如果使用delete运算符来删除数组中元素,虽然那个元素变成未定义的,但是数组的length属性并不改变两种删除元素,数组长度也改变的方法.

     例: var a = 'abc';   alert(a.indexOf('b'));  // 返回值1  返回b在a字符串索引位置   索引是从0开始的

  /*
  * 方法:Array.remove(dx)
  * 功能:删除数组元素.
  * 参数:dx删除元素的下标.
  * 返回:在原数组上修改数组
  */
  
 //经常用的是通过遍历,重构数组.

 

复制代码 代码如下:

           alert(a.indexOf('bf'));   //没有找到  返回 -1

Array.prototype.remove=function(dx)
 {
  if(isNaN(dx)||dx>this.length){return false;}
  for(var i=0,n=0;i<this.length;i )
  {
    if(this[i]!=this[dx])
    {
      this[n ]=this[i]
    }
  }
  this.length-=1
 }
 a = ['1','2','3','4','5'];
 alert("elements: " a "nLength: " a.length);
 a.remove(0); //删除下标为0的元素
 alert("elements: " a "nLength: " a.length);

 

复制代码 代码如下:

  lastIndexOf() 从右到左检索子字符串在原字符串第一次出现的位置

/*
  * 方法:Array.baoremove(dx)
  * 功能:删除数组元素.
  * 参数:dx删除元素的下标.
  * 返回:在原数组上修改数组.
  */
  
 //我们也可以用splice来实现.
  
 Array.prototype.baoremove = function(dx)
 {
  if(isNaN(dx)||dx>this.length){return false;}
  this.splice(dx,1);
 }
 b = ['1','2','3','4','5'];
 alert("elements: " b "nLength: " b.length);
 b.baoremove(1); //删除下标为1的元素
 alert("elements: " b "nLength: " b.length);

 

我们知道,在IE5或更低的版本中,JavaScript的Array(数组)对象并未提供现成的删除数组元素的方法。在IE5.5 的版本中,虽然有splice方法,但是并不是删除某一项(或几项),而仅仅是将某一项(或几项)的值清除,也就是说该项仍然存在,数组的长度并没有改变。

  例: var b = 'abcde';   alert(a.lastIndexOf('d'));  // 返回值3  返回d在b字符串索引位置   索引是从0开始的

  事实上,我们可以自己为数组增加一个删除方法(注意,这里指的是将数组的某一项真正的从数组成员中移除)。或许你会想到用循环来为数组重新赋值,这样做当然可以,但效率很低。

 

  下面我们介绍利用Array对象的两个方法slice、concat来自定义删除数组的方法。

     alert(d.lastIndexOf('bf'));   //没有找到  返回 -1

  具体代码如下,请注意里面的注释。

 

复制代码 代码如下:


Array.prototype.del=function(n) { //n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
 if(n<0) //如果n<0,则不进行任何操作。
  return this;
 else
  return this.slice(0,n).concat(this.slice(n 1,this.length));
  /*
   concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
         这里就是返回this.slice(0,n)/this.slice(n 1,this.length)
         组成的新数组,这中间,刚好少了第n项。
   slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
  */
}
//我们来试一试这个自己增加的方法
var test=new Array(0,1,2,3,4,5);
test=test.del(3); //从0算起,这里也就是删除第4项。
alert(test);

 

这样,仅仅灵活运用了Array对象的两个方法,就实现了我们的要求。

  用法:  对象.indexOf()  无参数时 返回值 -1

复制代码 代码如下: script language="javascript" function spli(){ datastr="2,2,3,5,6,6"; var str= new Array(); str=datastr...

 

       对象.lastIndexOf()  无参数时 返回值 -1

 

  有参数时则是按索引下标数返回

 


 

  用法:正则查找  符号  / 查找内容/  

 

search() 返回于正则表达式查找的内容匹配第一个字符串出现的位置

 

例:var str="Visit W3School!"  document.write(str.search(/W3School/))  输出6

 

document.write(str.search(/w3school/))  输出 -1  区分大小写

 

document.write(str.search(/w3school/i))  输出6   i在正则里代表不区分大小写

 

无参数时 返回值 'null'   有参数时则是按索引下标数返回

 


 

match()  使用正则表达式模式对字符串执行查找 并将结果作为数组返回

 

例:

 

var str="Hello world!"

document.write(str.match("world") "<br />")     //world

document.write(str.match("World") "<br />")  //null

document.write(str.match("worlld") "<br />")//null

document.write(str.match("world!"))  //world!

 

在本例中,我们将使用全局匹配的正则表达式来检索字符串中的所有数字:

 

var str="1 plus 2 equal 3"

document.write(str.match(/d /g))       g在正则表示匹配多次  不加 g 只返回匹配一次结果   

 

输出:1,2,3

 

 ------------------------------------------------------------------------------

 

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

 

语法

stringObject.substr(start,length)

参数 描述

start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

返回值

一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

 

提示和注释

注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

 

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

 

重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。

 

实例

例子 1

在本例中,我们将使用 substr() 从字符串中提取一些字符:

 

<script type="text/javascript">

 

var str="Hello world!"

document.write(str.substr(3))

 

</script>

输出:

 

lo world!

例子 2

在本例中,我们将使用 substr() 从字符串中提取一些字符:

 

<script type="text/javascript">

 

var str="Hello world!"

document.write(str.substr(3,7))

 

</script>

输出:

 

lo worl


 

定义和用法

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

 

语法

stringObject.substring(start,stop)

参数 描述

start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop

可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

 

如果省略该参数,那么返回的子串会一直到字符串的结尾。

 

返回值

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

 

说明

substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

 

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

 

提示和注释

重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

 

实例

例子 1

在本例中,我们将使用 substring() 从字符串中提取一些字符:

 

<script type="text/javascript">

 

var str="Hello world!"

document.write(str.substring(3))

 

</script>

输出:

 

lo world!

亲自试一试

 

例子 2

在本例中,我们将使用 substring() 从字符串中提取一些字符:

 

<script type="text/javascript">

 

var str="Hello world!"

document.write(str.substring(3,7))

 

</script>

输出:

2020欧洲杯冠军竞猜官方网站, 

lo w

 


 

定义和用法

concat() 方法用于连接两个或多个数组。

 

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

 

语法

arrayObject.concat(arrayX,arrayX,......,arrayX)

参数 描述

arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回值

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

 

实例

例子 1

在本例中,我们将把 concat() 中的参数连接到数组 a 中:

 

<script type="text/javascript">

 

var a = [1,2,3];

document.write(a.concat(4,5));

 

</script>

输出:

 

1,2,3,4,5

例子 2

在本例中,我们创建了两个数组,然后使用 concat() 把它们连接起来:

 

<script type="text/javascript">

 

var arr = new Array(3)

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

 

var arr2 = new Array(3)

arr2[0] = "James"

arr2[1] = "Adrew"

arr2[2] = "Martin"

 

document.write(arr.concat(arr2))

 

</script>

输出:

 

George,John,Thomas,James,Adrew,Martin

例子 3

在本例中,我们创建了三个数组,然后使用 concat() 把它们连接起来:

 

<script type="text/javascript">

 

var arr = new Array(3)

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

 

var arr2 = new Array(3)

arr2[0] = "James"

arr2[1] = "Adrew"

arr2[2] = "Martin"

 

var arr3 = new Array(2)

arr3[0] = "William"

arr3[1] = "Franklin"

 

document.write(arr.concat(arr2,arr3))

 

</script>

输出:

 

George,John,Thomas,James,Adrew,Martin,William,Franklin

 


 

定义和用法

split() 方法用于把一个字符串分割成字符串数组。

 

语法

stringObject.split(separator,howmany)

参数 描述

separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

 

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

 

提示和注释

注释:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

 

注释:String.split() 执行的操作与 Array.join 执行的操作是相反的。

 

实例

例子 1

在本例中,我们将按照不同的方式来分割字符串:

 

<script type="text/javascript">

 

var str="How are you doing today?"

 

document.write(str.split(" ") "<br />")

document.write(str.split("") "<br />")

document.write(str.split(" ",3))

 

</script>

输出:

 

How,are,you,doing,today?

H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?

How,are,you

例子 2

在本例中,我们将分割结构更为复杂的字符串:

 

"2:3:4:5".split(":") //将返回["2", "3", "4", "5"]

"|a|b|c".split("|") //将返回["", "a", "b", "c"]

例子 3

使用下面的代码,可以把句子分割成单词:

 

var words = sentence.split(' ')

或者使用正则表达式作为 separator:

 

var words = sentence.split(/s /)

例子 4

如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:

 

"hello".split("") //可返回 ["h", "e", "l", "l", "o"]

若只需要返回一部分字符,请使用 howmany 参数:

 

"hello".split("", 3) //可返回 ["h", "e", "l"]

 

 


 

replace() 将字符串替换后复制新字符串

例: 

var  a = 'abc';

alert(a.replace('c', '123'))   

输出: ab123 


toUpperCase()  方法用于把字符串转换为大写

var str = 'abc';

document.write(str.toUpperCase()) 

输出:ABC


toLowerCase()  方法用于把字符串转换为小写

var str = 'abcDEF';

document.write(str.toLowerCase()) 

输出:abcdef

 


 

Array Date Math 内置对象的属性和方法? 答案: ①String 字符串 属性 :length 获取字符串长度 方法: indexOf() 从左到右检索子字符串在原...

编辑:2020欧洲杯冠军竞猜官方网站 本文来源:JS删除数组元素的函数介绍,js中通过split函数分

关键词: 欧洲杯竞猜