ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南

[分享] JS问答练习帖

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-13 16:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
问题Q:while语句给工作表按顺序添加序号?
举例1:while语句给工作表按顺序添加序号?

/*function text(){
        let a=1;
                while (a<=Sheets.Count){
                        Sheets(a).Name=a+"、"+Sheets(a).Name;
                        a++
                }
}*/

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-14 09:51 | 显示全部楼层
问题Q:三元运算符简化if...else写法?
举例1:三元运算符简化if...else写法?

/*function text(){
        let sz=67;
                let grate=sz<50 ? "F"
                                 :sz<70 ? "D"
                                 :sz<80 ? "C"
                                 :sz<90 ? "B"
                                 : "A";
                console.log(grate);
}

function text(){
        let sz=80;
                let rng=sz>60 ? "达标":"继续努力";
                        console.log(rng)
}*/

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-14 09:59 | 显示全部楼层
问题Q:for of语句?
举例1:使用for of语句输出对象里的每个值?

/*function text(){
        let con="每天学点JS学习";
                for (let rng of con){
                        console.log(rng)
                }
}*/

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-14 10:12 | 显示全部楼层
问题Q:switch语句?
举例1:使用switch语句输出季度值?

/*function text(){
        let num=InputBox("请输入数字1-4");
                switch (Number(num)){
                        case 1:alert("一季度");break
                        case 2:alert("二季度");break
                        case 3:alert("三季度");break
                        case 4:alert("四季度");break
                        default:alert("请重新输入数字1-4")
                }
}*/

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-14 19:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 我的城市你来过 于 2024-8-18 20:07 编辑

问题Q:认识数组?
举例1:数组的创建方式及扩展符用法?

/*function text(){
        let arr=[1,5,9,"abc",...[2,3,5]];
                for (a=0;a<arr.length;a++){
                        console.log(arr[a])
        }
}*/

function text(){
        let arr1=[1,3,"sth",,5];//直接创建
        let arr2=[...[1,9,5]];//创建数组副本,...今铭昔...8.15改错误[...1,9,5]
        let arr3=[...[1,9,5],8,7,...[1,2,3]];//等同[1,9,5,8,7,1,2,3]
        let arr4=[..."abv"];//等同[a,b,v]
}

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-14 19:55 | 显示全部楼层
本帖最后由 我的城市你来过 于 2024-8-15 09:37 编辑

问题Q:提取单元格内容内的数字?
举例1:提取单元格内容内的数字?

function text(){
        let brr=[];
        let rngs=Range("a2",Cells(999,1).End(xlUp));
                for (let rn of rngs){
                         let arr1=[...rn.Value()];
                                 for (let ar of arr1){
                                         if (Number(ar)>-1){
                                                brr=[...brr,ar];
                                        }
                                }
                                rn.Offset(0,1).Value2=`${brr}`;     //...合并数字,不使用间隔符rn.Offset(0,1).Value2=`${brr.join("")}`;
                                brr=[]
                }
}

TA的精华主题

TA的得分主题

发表于 2024-8-15 06:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-8-15 07:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 今铭昔 于 2024-8-15 07:24 编辑
我的城市你来过 发表于 2024-8-14 19:55
问题Q:提取单元格内容内的数字?
举例1:提取单元格内容内的数字?

如果是处理字符串中的单个字符,可以借用数组的函数去做,还有就是,你应该是把test搞错成text了
  1. function test05(){
  2.         let res = Range("a2",Cells(999,1).End(xlUp))()
  3.                 .map((,_,a) => [a.filter.call(s, x => isFinite(x)).join()])
  4.         Range('C2').Resize(res.length, 1).Value2 = res
  5. }
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-8-15 07:18 | 显示全部楼层
我的城市你来过 发表于 2024-8-14 10:12
问题Q:switch语句?
举例1:使用switch语句输出季度值?
  1. function test06(){
  2.     label : while (1){                                                        // 不常见的标签写法
  3.             let num=InputBox("请输入数字1-4");
  4.             switch (Number(num)){
  5.                     case 1: case 2: case 3: case 4: {        // switch语句的穿透特性
  6.                             alert([...'一二三四'][num-1] + '季度')
  7.                             break label        // 跳出到外部标签,而不是switch语句
  8.                     }
  9.             }
  10.             //alert("请重新输入数字1-4")
  11.     }
  12. }
复制代码


评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-15 17:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
问题Q:数组去重?
举例1:已知A列数据,去重填入B列?(运行速度慢,未排序,待优化)

/*function text(){
        let brr=[];
                let rn=Range("a1",Range("a99").End(xlUp));
                        for (let arr of rn.Value()){
                                         brr=[...brr,arr[0]];
                                                let br1=brr.filter((x, index,self)=>self.indexOf(x) === index);
                                                        for (a=1;a<br1.length;a++){
                                                                Range("b"+a).Value2=br1[a]
                                                        }
                        }
}*/
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-25 02:40 , Processed in 0.042462 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表