This post is on 10 questions for junior developers out there and for those who are looking for or having an interview.
I also have a few articles in detail for an interview on my new Website and Follow me on twitter where i will be posting cool and short programming codes on this quarantine.
Go and read !!! It's always good to learn !!!
https://www.icodeeveryday.com/
Let's Start:
1) How to copy or clone an array?
In the old way, we can copy an array with slice().
const newaaray= oldarray.slice();
In a new way i.e after ES6, we can copy array with the spread operator
Const newarray = [...sheeps];
2)Why can’t we use = to copy an array like (new_variable = existing_array) ?
Because an array are reference value in javascript. When we write newarray = oldarray, we don’t create new array rather it's reference that point to the same memory location.
3)How do you check if a number is of number type or not in JS?
if(typeof variable === ‘number’ && !isNaN(variable))
Remember that typeof variable ==='number' doesn't guarantee that variable is number because typeof NaN is also a number.
4) What is the output of +‘12’?
The result is number 12 of type number because the unary operator tries to convert all strings, boolean and null to number.
More example,
+‘-3’ gives -3
+’0xFF’ gives output 255
+‘false’ gives 0
+‘Infinity’ gives Infinity
+’infinity’ gives NaN
+’function’ gives NaN
It's also similar to unary + operator
-‘-5’ gives 5
-true gives -1
If the interviewer is freak, the output of code below can be asked:
What does this return
!!hello == true
Answer is true
5)What is the output ?
var x=9;
x= x++;
console.log(x);
Answer is 9
6) Different ways to copy an object into another?
copy mainobj object into copyobj
let copyobj= Object.assign({}, mainobj);
but:this is also a shallow copy.
I don't know if there is another way, for deep copying or cloning i use stringify.
let newObj = JSON.parse(JSON.stringify(obj));
8) Write a code to format the array1 into array2
array1 = [
{Key:"name", value:"Pravin"},
{key:"age", value:26},
{key:"address", value:"Nepal"}
]
and get an output as:
array2 = [
{name:"Pravin"},
{age:26},
{address:"Nepal"}
]
There are a lot of ways to this. I am going to use map() to this array.
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)Create a function filtername with the first parameter array and second parameter search query.
name =[‘Tommy’, ‘Romanu’, Pravin’, ‘Omar'];
filtername(name, 'om');
condition: It should return an array with element of name which has 'om' in it.
In this output must be ['Tommy', 'Romanu', 'Omar'].
10)How do you clone a JSON object?
My answer is stringify.I don’t know if there is another way.Comment your way of doing.
let old_json = old json ;
Let new = JSON.parse(JSON.stringify(old));
Thanks for reading.
Take Care and Stay Safe. Help others in need.
Bye !!! See you soon :D
Top comments (4)
Thank you Pravin this was very informative. If you don't mind I just want to point out somethings to edit +‘-3’ gives +3 should be -3. Also the object.assign will return a deep copy if you pass an empty object such as {}
Thanks for that its -3. It's a typo mistake. No!! Object. assign() is shallow copying for an abject with object inside. It won't be able to copy object inside an object rather it copy the reference of an inside object.
Thanks for the tips! For question #8, you could write it in one line:
For question #9,
8) Write a code to format the array1 into array2
you could use array.reduce to solve it, like this
const array2 = array1.reduce((obj,{key,value})=>{
obj[key] = value;
return obj;
},{});