学习了JavaScript相关基础语法以及数组和字符串的相关操作函数之后,整理出了一部分关于对JavaScrip中数据进行操作的例题和一些经典面试题,希望对大家有所帮助,如有错误,望不吝赐教。
一、在不借助第三变量的情况下对两个变量进行交换
var a=5;
var b=3;
b=a+b;
a=b-a;
b=b-a;
二、输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符串。(不可以使用replace进行操作)
例如:输入“They are students” 和“aeiou”
则删除之后的第一个字符串变成 “Thy r stdnts”
可以使用两种不同的方法来实现该题目
法一:用split切割字符串 并删除,具体代码如下:
var stral="They are students";
var str="aeiou";
for(var i=0;i<str.length;i+=){
stral=stral.split(str.charAt(i)).join("");
}
console.log(stral);
法二:转成数组进行比较,代码如下:
var stral="They are students";
var str="aeiou";
var arr=stral.split("");
for(var i=0;i<str.length;i++){
var s=str.charAt(i);
for(var k=0;k<arr.length;k++){
if(arr[k]==s){
arr.splice(k,1);
}
}
}
console.log(arr.join(""));
三、计算出字符串中某个字符的个数
例如:计算出字符串"1231011211009181"中1的个数
代码如下:
var a="1231011211009181";
function showBack(num){
var count=0;
for(var i=0;i<a.length;i++){
if(a.charAt(i)==num){
count++;
}
}
return count;
}
console.log(showBack("1"));
四、给定一串字符串 ,返回出现次数最多的那个字符以及它出现的次数
如:给定的字符串为:“aaabbbdcdscdsfdsjaaabbcdfefgh”;
具体实现方法如下:
var str="aaabbbdcdscdsfdsjaaabbcdfefgh";
var arr=[];
showNumber();
function showNumber(){
var count = 0;
arr.push([str.charAt(0),count]);
for (var i = 0; i < str.length; i++) {
if (arr[arr.length - 1][0] == str.charAt(i)) {
count++;
str = str.replace(str.charAt(i), "")
arr[arr.length - 1][1] = count;
i--;
}
}
if (str.length == 0) {
var max = 0;
var key = 0;
for (var index in arr) {
if (arr[index][1] > max) {
max = arr[index][1];
key = index;
}
}
console.log(arr[key][0] + "/" + max);
return "";
}
showNumber();
}
五、数组去重
var a=[1,2,3,4,1,2,3,1,2];
var b={};
for(var key in a)
{
/!*hasOwnProperty 判断对象里面是否存在属性 true false*!/
if(!obj.hasOwnProperty(a[key]))
{
b[a[key]]="";
}
}
var s=[];
for(var key in b)
{
s.push(key);
}
console.log(s);