JavaScript 开发人员的 10 个面试问题
这篇文章针对初级开发人员以及正在寻找或正在接受面试的人提出了 10 个问题。
我的新网站上也有一些关于采访的详细文章,欢迎关注我的推特,我会在隔离期间发布一些很酷很简短的编程代码。
快去读一读吧!学习总是有益的!
https://www.icodeeveryday.com/
让我们开始吧:
1)如何复制或克隆数组?
按照老方法,我们可以使用 slice() 复制数组。
const newaaray= oldarray.slice();
ES6 之后,我们可以使用扩展运算符复制数组
Const newarray = [...sheeps];
2)为什么我们不能使用=来复制像(new_variable = existing_array)这样的数组?
因为在 JavaScript 中数组是引用值。当我们写newarray = oldarray时,我们并没有创建新的数组,而是创建指向同一内存位置的引用。
3)在 JS 中如何检查一个数字是否是数字类型?
if(typeof variable === ‘number’ && !isNaN(variable))
请记住,typeofvariable==='number'并不能保证变量是数字,因为typeofNaN也是一个数字。
4)+'12'的输出是什么?
结果是数字类型的数字 12,因为一元运算符尝试将所有字符串、布尔值和空值转换为数字。
更多示例,
+‘-3’ gives -3
+’0xFF’ gives output 255
+‘false’ gives 0
+‘Infinity’ gives Infinity
+’infinity’ gives NaN
+’function’ gives NaN
它也类似于一元 + 运算符
-‘-5’ gives 5
-true gives -1
如果面试官很怪,可以问下面代码的输出:
这返回什么
!!hello == true
答案是真的
5)输出是什么?
var x=9;
x= x++;
console.log(x);
答案是9
6)将一个对象复制到另一个对象有不同的方法吗?
将 mainobj 对象复制到 copyobj 中
let copyobj= Object.assign({}, mainobj);
但是:这也是浅拷贝。
我不知道还有其他方法吗?对于深拷贝或克隆,我使用 stringify。
let newObj = JSON.parse(JSON.stringify(obj));
8)编写代码将数组1格式化为数组2
array1 = [
{Key:"name", value:"Pravin"},
{key:"age", value:26},
{key:"address", value:"Nepal"}
]
并得到如下输出:
array2 = [
{name:"Pravin"},
{age:26},
{address:"Nepal"}
]
有很多方法可以实现这一点。我将使用 map() 来访问这个数组。
let array1 = [
{key:"name", value:"Pravin"},
{key:"age", value:26},
{key:"address", value:"Nepal"}
];
let array2 = array1.map(elem=>{
let temp_obj = {};
temp_obj[elem.key] =elem.value;
return temp_obj;
});
console.log(array2);
9)创建一个函数filtername,其第一个参数为数组,第二个参数为搜索查询。
name =[‘Tommy’, ‘Romanu’, Pravin’, ‘Omar'];
filtername(name, 'om');
条件:返回一个包含 name 元素且包含 'om' 的数组。
输出结果必须为 ['Tommy', 'Romanu', 'Omar']。
10)如何克隆JSON对象?
我的答案是 stringify。我不知道是否还有其他方法。评论你的做法。
let old_json = old json ;
Let new = JSON.parse(JSON.stringify(old));
感谢阅读。
保重,注意安全。帮助有需要的人。
再见!期待与您相见 :D