当前位置: 首页 > news >正文

刷题笔记(第七天)

1.找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)
  • 返回数组,格式为 key: value
  • 结果数组不要求顺序
    输入:
    var C = function() {this.foo = ‘bar’; this.baz = ‘bim’;};
    C.prototype.bop = ‘bip’;
    iterate(new C());
    输出: [“foo: bar”, “baz: bim”]
function iterate(obj) {const result = [];for(let key in obj) {if(obj.hasOwnProperty(key)) {result.push(`${key}: ${obj[key]}`)}}return result;
}

obj.hasOwnProperty(key) 判断键值key对应的属性是否在对象obj自身。

2. 请补全JavaScript代码,要求返回参数数字的千分位分隔符字符串。

输入:_comma(12300)
输出:‘12,300’

function _comma(number) {if (number < 1000) {return number.toString()} else {return _comma(Math.floor(number/1000)) + ',' + _comma(number%1000)}
}

解题思路:在字符串长度不确定的情况下,可以使用递归。 _comma(number % 1000) 是获取数字最后三位,将其放在返回值的最后面,并且在前面加一个逗号,_comma(Math.floor(number / 1000)) 是将剩下的部分传入函数本身,不断重复,直到入参的number小于1000,返回 number.toString(),函数最后返回一个完整的千位分隔符的字符串。

3.请补全JavaScript代码,要求返回一个长度为参数值并且每一项值都为参数值的数组。

注意: 请勿直接使用for/while

const _createArray = (number) => {// 补全代码let arr = new Array(number)let newArr = arr.fill(number)return newArr
}

使用了数组的Array.fill()方法.

// fill()方法用一个固定值填充一个数组中从其实索引到中终止索引内的全部元素,不包括终止索引。
// 语法:arr.fill(value,start,end)
// value: 用来填充数组元素的值
// start: 起始索引,默认值为0
// end: 终止索引,默认值为this.length,如果不填的话,就包括终止索引
// 注: 1.返回修改后的数组 
//     2.如果start为负数,则开始索引被计算为length+start 
//     3.如果end为负数,则结束索引被计算为length+end
//     4.start和end参数是可选的,默认值分别为0和arr.length
//     5.当一个对象被传递给fill方法时,填充数组的是这个对象的引用
const arr = [1, 2, 3, 4]
console.log(arr.fill(0, 2, 4)); //[1,2,0,0]    从索引0开始,到索引2结束,不包括终止索引,将值替换为4
console.log(arr.fill(5, 1)); // [1,5,5,5]
console.log(arr.fill(6)); // [6,6,6,6]
// 示例
[1, 2, 3].fill(4);               // [4, 4, 4]
[1, 2, 3].fill(4, 1);            // [1, 4, 4]
[1, 2, 3].fill(4, 1, 2);         // [1, 4, 3]
[1, 2, 3].fill(4, 1, 1);         // [1, 2, 3]
[1, 2, 3].fill(4, 3, 3);         // [1, 2, 3]
[1, 2, 3].fill(4, -3, -2);       // [4, 2, 3]
[1, 2, 3].fill(4, NaN, NaN);     // [1, 2, 3]
[1, 2, 3].fill(4, 3, 5);         // [1, 2, 3]
console.log(Array(3).fill(4));   // [4,4,4]
http://www.lryc.cn/news/230117.html

相关文章:

  • python3.7 + pygame1.9.3实现小游戏《外星人入侵》(五):计分
  • [量化投资-学习笔记014]Python+TDengine从零开始搭建量化分析平台-Python知识点汇总
  • [论文分享] Never Mind the Malware, Here’s the Stegomalware
  • 代号:408 —— 1000道精心打磨的计算机考研题
  • 《QT从基础到进阶·十六》QT实现客户端和服务端的简单交互
  • 行业追踪,2023-11-13
  • 开放领域对话系统架构
  • 终端神器:tmux
  • Elasticsearch学习(一)
  • CSS3的常见边框汇总
  • 酷柚易汛ERP-购货订单操作指南
  • 【数据仓库】数仓分层方法详解与层次调用规范
  • 记一次线上问题引发的对 Mysql 锁机制分析
  • Android 工厂模式距离传感器逻辑优化
  • Dell笔记本电脑 启动时提示解决
  • 【人工智能Ⅰ】7-KNN 决策树
  • 【LeetCode】26. 删除有序数组中的重复项
  • K8S知识点(八)
  • 25.4 MySQL 函数
  • Unity 下载Zip压缩文件并且解压缩
  • c++11新特性篇-委托构造函数和继承构造函数
  • Flink SQL处理回撤流(Retract Stream)案例
  • 6.5.事件图层(MapEventsOverlay)
  • 供暖系统如何实现数据远程采集?贝锐蒲公英高效实现智慧运维
  • Flutter笔记:关于Flutter中的大文件上传(上)
  • 腾讯云CVM服务器5年可选2核4G和4核8G配置
  • 数据结构:反射
  • 45 深度学习(九):transformer
  • java中用javax.servlet.ServletInputStream.readLine有什么安全问题吗?怎么解决实例?
  • 面试官问 Spring AOP 中两种代理模式的区别?很多面试者被问懵了