字符串、数组方法实战--charAt(),split(),indexOf(),substring()

这篇随笔根据两个面试题来实战一下数组、字符串的一些方法。

题一:一个字符串中找出出现次数最多的字符次数

 1 var str = ‘fuuhuhuhufaihuhfnkjNKCNIO‘;?
 2     function num(str) {
 3         var json = {};
 4         for (var i = 0; i < str.length; i++){
 5             //字符串的charAt()方法返回指定位置的字符串
 6             if(!json[str.charAt(i)]){//若json对象中没有当前属性,则给当前属性赋值为1
 7                 json[str.charAt(i)] = 1;
 8             }else{
 9                 json[str.charAt(i)]++;//若json对象中已经有当前属性,则将当前属性值+1
10             }
11         }
12         var iMax = 0;
13         var iIndex = ‘‘;
14         for(var i in json){//for in遍历json对象的属性
15             if(json[i]>iMax){
16                 iMax = json[i];
17                 iIndex = i;
18             }
19         }
20         console.log(‘出现次数最多的是:‘+iIndex+‘出现‘+iMax+‘次‘);
21     }
22     num(str);

题二:输出相应字符串的值

具体描述:给定一个url字符串,如var url="http://www.baidu.com/?username=xiaohua&password=262763"; 当我们输入username,输出username的值

方法一

 1  var url="http://www.baidu.com/?username=xiaohua&password=262763";
 2     function urle(key) {
 3         var value="";
 4         var cc = url.split(‘?‘)[1].split(‘&‘);
 5         for(var i=0;i<cc.length;i++){
 6             var r = cc[i];
 7             var a = r.split(‘=‘);
 8             if (key==a[0]){
 9                 value = a[1];
10                 break;
11             }
12         }
13         return value;
14     }
15     console.log(urle(‘username‘));//xiaohua

url.split(‘?‘)将url字符串转化成数组:["http://www.baidu.com/", "username=xiaohua&password=262763"],现将原来字符串‘?‘后面的字符串提取出来然后再转化成数组代码如第四行

方法二

 1 function urle(key) {
 2         var value = "";
 3         var aa = url.indexOf(‘?‘);
 4         var bb = url.substring(aa+1);
 5         var cc = bb.split(‘&‘);
 6         for(var i=0;i<cc.length;i++){
 7             var r = cc[i];
 8             var a = r.split(‘=‘);
 9             if (key==a[0]){
10                 value = a[1];
11                 break;
12             }
13         }
14         return value;
15     }
16     console.log(urle(‘username‘));//xiaohua
时间: 2024-11-03 21:33:38

字符串、数组方法实战--charAt(),split(),indexOf(),substring()的相关文章

js中split(),indexof().substring(),join()方法总结

1.join(separator) :将数组转化成以separator为分隔符的字符串 2.split(separator) :使用一个指定的分隔符(separator)把一个字符串分割存储到数组 3.indexof():返回字符串中匹配子串的第一个字符的下标 4.substring()::字符串截取 注意事项: 1.如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2

js中字符串的方法

js String对象中常用方法小结,需要的朋友可以参考下: 1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号.有效值为0到字符串长度减1的数字. 如果指定位置没有字符,将返回NaN. 例如: var str = "ABC"; str.charCodeAt(0); 结果:65 2.fromCharCode方法从一些Unicode字符串中返回一个字符串.

字符串的方法总结

字符串的方法总结: 1. length 属性返回字符串的长度 var str = '1234567' console.log(str.length) // 7 2. indexOf() 方法返回字符串中指定文本__首次__出现的索引 3. lastIndexOf() 方法返回字符串中指定文本__最后__出现的索引 var str = 'China' console.log(str.indexOf('China')) // 0 如果是字符串按一个来 console.log(str.indexOf(

软件开发方向:字符串数组的Indexof()方法为什么不能用

public double[,] GetLoadData(string[] strArr)        {            double[,] S = new double[16, 8];            foreach (string str in strArr)            {                strArr.indexof() //在自动提示里面,不出现indexof()这个函数.                                 stri

使用Split或Split方法来创建字符串数组

是对状态栏中网络激活那个小控件的管理.在平时的开发中,我们很可能忽略了它的存在.然而,实现对它的管理,让我们的APP更符合人机交互,不也是件大快人心的事儿吗. 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作,在这里不做详细说明.我们创建一个文件后系统会默认地赋予所有者读和写权限.当然我们也可以自己修改它,添加自己需要的权限. 无论是提交还是传递数据,表单元素在动态交互页

Apache POI Java读取100万行Excel性能优化:split vs indexOf+subString,谁性能好

使用Apache POI eventmodel实现一个Excel流式读取类,目标是100万,每行46列,文件大小152MB的Excel文件能在20s读取并处理完.一开始实现的程序需要260s,离目标差太远了,使用jvisualvm分析各方法执行时间,结果如下: 可以看到,程序中的splitLine和getRowNum方法消耗了大量时间.这两个方法都特别简单.splitLine方法将类似“123==hello”这样的字符串分解成{"123","hello"}数组,使用

定义字符串的方法和定义数组的方法

Object(基类) 他下面的子类有:Function(函数) Array(数组) Number(数字) Boolean(布尔) String(字符串) Date(日期) Math(算术) RegExp(正则) 他们的本质都是函数 String类 定义字符串的方法 var st=new String("hello world")    对象定义 var st="hello world"         直接加引号 字符串的+号运算     +仅仅就是拼接 这种方法叫

Java编程实现中英混合字符串数组按首字母排序的方法

在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序.例如: ? 1 2 3 4 5 6 7 String[] arrays = new String[] { "gyu", "sdf", "zf", "大同", "收到", "地方", "三等分", "的人", "反对高铁"

数组和字符串的方法整合

js中的数组和字符串有点类似,不是说本质上,而是在遍历,获取时的类似.从标识来说,可以一眼看出那个是数组,那个是字符串:但在使用遍历时,会不经意的将两者混淆,导致方法用错.同时两者的方法又有好几个相同的,但需注意语义,以及有些方法是不会对原数组产生影响的.以下是我整理的一些关于数组和字符串的一些方法,不保证完整性. 数组方法 arr.push()      可向数组的末尾添加一个或多个元素,并返回新的长度.会影响原数组 1 var a = [1,2]; 2 a.push(3); 3 consol