是否可以通过链将数组传递给函数?我遇到了一项针对某项工作的JavaScript测试,建议这是可行的。是吗?
var hereIsArray = [13,27,49,57];
function printArray() {
// insert code here to print array...
// this may read the parent of the chain, or the variable placed before the function in the chain.
};
hereIsArray.printArray();
我熟悉将变量传递到括号之间的函数中,这将是我的方式。
以下是测试(问题#5)要求的副本。 “assignment.log”是他们为检查输出而创建的函数。你可以看到他们正在寻找的答案。
//#5 write code so that console logs print out true
// add(addValue) should return a new arrays where addValue
// is added to each value of original array
// i.e. [6, 7, 8, 9, 10] and [11, 12, 13, 14, 15]
// [your code goes here]
var e = [1, 2, 3, 4, 5];
assignment.log(e.add(5) == '[6,7,8,9,10]', 5);
var d = [1, 2, 3, 4, 5];
assignment.log(d.add(10) == '[11,12,13,14,15]', 5);
答案 0 :(得分:0)
Array.prototype.printArray = function(){
return '['+this.toString()+']';
}
var ary = [0, 5, 7, 25];
console.log(ary.printArray());
答案 1 :(得分:0)
工作测试的简单直接答案是:
Array.prototype.add = function (amount) {
return "[" + this.map(item => item + amount).toString() + "]";
};
还可以解释prototype
是什么以及它如何帮助将事物附加到该类型的实例(您的主要问题),但是...如果我是你,我会向面试官提供一些首先提出改进建议:
add()
更改为更好的名称(addToAll()
,或许?),或者将其分解为一个函数,将该金额添加到每个项目,另一个函数将其转换为字符串; var
。这是2017年,我们有const
(请参阅this); Array
原型的好理由; ==
应替换为===
,这被视为良好做法(请参阅this)。访谈是关于让你的面试官感到惊讶的。也许他们不只是寻找简单明了的答案(实际上非常简单),但他们正在寻找能够指出所提供代码错误的人。我喜欢用一些不好的代码来面对我的受访者,看看他们会如何反应。一个优秀的程序员(你想聘请的人)将善意建议改进所提出的问题。