【JavaScript】常见题目整理

本文整理了JavaScript中的数据操作题目,包括不借助第三变量交换变量、删除字符串中特定字符、计算字符出现次数、找出字符串中最频繁字符及其次数以及数组去重等经典面试题。提供不同解决方案,有助于提升JavaScript技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         学习了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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值