
Si vous recherchez des questions basées sur le code javascript pour la pratique des entretiens ou le brainstorming, alors je dirais que vous êtes au bon endroit pour apprendre. Je vais essayer de couvrir toutes les questions délicates et clés qui ne font pas partie du Javascript théorique. Pour une meilleure compréhension, je recommanderais de prendre un stylo et du papier et d’essayer de le résoudre en premier, ce sera un bon début.
1. Quelle sera la sortie des lignes de code ci-dessous ?
console.log("11"-1); // 10console.log("11"+1); // "111"console.log(0 === [[[0]]]); // falseconsole.log(0 == [[[0]]]); // trueconsole.log(0 === "0"); // falseconsole.log(0 == "0"); // trueconsole.log([1,[2,[3,[4,[5]]]]].toString()) // 1,2,3,4,5
2. Comment convertir le tableau multidimensionnel en efficacité de tableau 1-D ?
const arr = [1,[2,[3,[4,[5]]]]]
const dArray = arr.toString().split(',').map((num) => Number(num))
Le tableau de test est déclaré pour tester notre code dans la première ligne. Dans la ligne suivante, nous avons converti le tableau de test en un format de chaîne après que notre résultat ressemble à ‘1,2,3,4,5’. la dernière étape consisterait à diviser en fonction de ‘,’ et à convertir en un nombre.
3. Créez des promesses de nombres de 1 à 10 avec un délai aléatoire et imprimez-les en séries continues de 1 à 10.
const delay = (val, ms) => new Promise(resolve => setTimeout(resolve(val), ms));const promiseArr = []
for(let i=1; i<=10;i++) {
promiseArr.push(delay(i, Math.random()%5));
}const result = Promise.all(promiseArr)
result.then(res => {
console.log(res) // [1,2,3,4,5,6,7,8,9,10]
})
La fonction delay crée une nouvelle promesse avec une valeur et un délai donnés.
La méthode Promise.all() prend un itérable de promesses en entrée et renvoie une seule Promise qui se résout en un tableau des résultats des promesses d’entrée. Cette promesse retournée sera remplie lorsque toutes les promesses de l’entrée auront été remplies, ou si l’itérable d’entrée ne contient aucune promesse. Il rejette immédiatement l’une des promesses d’entrée rejetant ou les non-promesses générant une erreur et rejettera avec ce premier message de rejet/erreur.
4. Comment vérifier si la valeur de l’objet est un objet ou non ?
typeof yourVariable === 'object' && yourVariable !== null
5. Comment créer un switch personnalisé en Javascript ?
const match = (expr, allCases) => {
return allCases[expr] || allCases?.default;
}const allCases = {
Hi: 'good morning',
Red: "color",
BMW: "my favourite",
default: "not available"
}const matched = match('Hi', allCases)
const notMatched = match('Not', allCases)console.log(matched) // Good Morning
console.log(notMatched) // not available
match est une fonction qui prend tous les cas et votre expression pour correspondre si votre expression n’existe pas, elle trouvera celle par défaut. allCases est un objet de valeur clé qui contient tous nos cas.
6. Quelle sera la sortie du code ci-dessous ?
const a = Number(1)
const b = Number(2)
const c = "1"
const d = "2"console.log(typeof a * b) // NaN
console.log(typeof c * d) // NaN
console.log(typeof a * c) // NaN
console.log((a*b) == (c*d)) // true
console.log((a*b) === (c*d)) // true
console.log(typeof Number(a * b)) // number
console.log(typeof Number(c * d)) // number
7. Quelle sera la sortie du code ci-dessous ?
const arr = [1,2,3,4]
arr.length = 0; // don't do this in your lifeconsole.log(arr) // []console.log("1" - "2" + "3" + "4" * "5")
// first * occurs and result will be
// "1" - "2" + "3" + "20"
// now left to right flow goes
// "-1" + "3" + "20"
// "-1320"
8. Nous avons trois promesses avec le nom et le délai, (lent, 200), (rapide, 50), (instantané, 0), et toutes doivent se résoudre en même temps et l’ordre doit se maintenir en séries lentes, rapides et instantanées .
const slow = new Promise(resolve => {
setTimeout(resolve, 200, 'slow');
});
const instant = new Promise(resolve => {
setTimeout(resolve, 0, 'instant');
}); ;
const quick = new Promise(resolve => {
setTimeout(resolve, 50, 'quick');
});const result = Promise.all([slow, quick, instant])result.then((res) => {
console.log(res)
})
9. Quelle sera la sortie du code ci-dessous ?
var a={name:"RKstar"}
var b={name:"RKstar"}console.log(a===b); // false
console.log(a==b); // false
10. Si le tableau est une instance de l’objet, comment différencierez-vous un objet ou un tableau ? Comment un programme pour faire la différence entre eux ?
console.log(diff([])) // Array
console.log(diff({})) // Object
console.log(diff(null)) // Null or Undefinedfunction diff(obj) {
if(Object.prototype.toString.call(obj) === '[object Array]') {
return 'Array'
} else if(typeof obj === 'object' && obj !== null) {
return 'Object'
} else {
return 'Null or Undefined'
}
}
Quelques Théorique et des questions basées sur le code pour vous, s’il vous plaît commentaire votre solution ici.
quelle est la différence entre null et indéfini ?
Écrire un analyseur JSON, ne peut pas utiliser l’analyseur JSON intégré.