无锡新吴区住房建设和交通局网站,重庆律师网站,怎么做网页挣钱,万网 做网站1.找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)
返回数组#xff0c;格式为 key: value结果数组不要求顺序 输入#xff1a; var C function() {this.foo ‘bar’; this.baz ‘bim’;}; C.prototype.bop ‘bip’; iterate(new C()); 输出…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为负数则开始索引被计算为lengthstart
// 3.如果end为负数则结束索引被计算为lengthend
// 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]