forked from moneshvenkul/AlmaModule2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PractiseArraysStrings
219 lines (146 loc) · 8.66 KB
/
PractiseArraysStrings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
Interview Questions on Arrays and Strings in JavaScript:
What are arrays in JavaScript? How do they differ from other programming languages?
How would you add an element to the end of an array? How about the beginning?
What is the difference between push() and unshift() methods in JavaScript arrays?
Can you explain what is splice() and slice() methods in JavaScript arrays and their differences?
How would you remove an element from the end of an array? And how about from the beginning?
How can you iterate over an array in JavaScript? Can you show an example?
Explain the map() method in JavaScript arrays. How does it work and when should you use it?
What is the difference between map() and forEach() in JavaScript arrays?
Can you explain the filter() method in JavaScript arrays? What are some use cases?
How can you sort an array in JavaScript? What happens if the array contains both numbers and strings?
Can you explain what reduce() method does in JavaScript?
What is string interpolation in JavaScript? Can you provide an example?
How can you convert a string to an array in JavaScript?
How can you convert an array to a string in JavaScript?
What are template literals in JavaScript? How do they help with working on strings?
Practical Questions on Arrays and Strings in JavaScript:
Write a function to reverse a string in JavaScript.
Write a function that takes an array of numbers and returns a new array containing only the even numbers.
Write a JavaScript function to check whether an input is an array or not.
Write a function that takes two strings as input and returns true if they are anagrams (contain the same characters) and false otherwise.
Write a function that takes a string and returns the same string but with all vowels removed.
Write a function to flatten an array in JavaScript. For example, flatten([1, [2, 3], [4, [5, 6]]]) should return [1, 2, 3, 4, 5, 6].
Write a function that finds the most frequent element in an array.
Implement a function to perform a binary search on a sorted array.
Write a function that splits a string into an array of words. For example, "Hello World" should be split into ["Hello", "World"].
Write a function that capitalizes the first letter of each word in a string. For example, "hello world" should become "Hello World".
Write a function to find the longest string in an array of strings.
Implement a function that reverses the words in a sentence but keeps the order of the words the same.
Write a function that checks if a given string is a palindrome or not.
Write a function that takes a string and a character, and splits the string into an array of strings by the character.
Write a function that counts the number of occurrences of a value in an array. For example, for the array [1, 2, 3, 1, 2, 1] and value 1, the function should return 3.
Answers:
Theory Questions on Arrays and Strings in JavaScript:
JavaScript arrays are dynamic collections of various data types. They can store different types of values - numbers, strings, objects, even other arrays. This is different from many other languages where arrays must contain elements of the same type. They can also grow and shrink dynamically, whereas in some languages the size of the array must be set at the time of creation.
To add an element to the end of an array, you would use the push() method. For adding to the beginning, you would use the unshift() method.
push() adds one or more elements to the end of an array and returns the new length of the array. unshift() adds one or more elements to the beginning of an array and returns the new length.
splice() changes the contents of an array by removing or replacing existing elements and/or adding new elements in place. slice() returns a shallow copy of a portion of an array into a new array object. The main difference is that splice() modifies the original array, while slice() does not.
To remove an element from the end of an array, you would use the pop() method. For removing from the beginning, you would use the shift() method.
You can iterate over an array in JavaScript using several methods including a for loop, a forEach() method, a for...of loop, or a map() function. For example:
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(item) {
console.log(item);
});
The map() method in JavaScript creates a new array by calling a function on every element in the array. It's often used when you want to create a new array from an existing one, transforming the elements in some way.
Both map() and forEach() are used to iterate through the elements in a JavaScript array. The key difference is that map() returns a new array based on what is returned from the function, while forEach() doesn't return anything (undefined).
filter() creates a new array with all elements that pass the test implemented by the provided function. For example, it can be used to create a new array from a set of data where only entries that meet certain criteria are included.
You can sort an array in JavaScript using the sort() function. However, if the array contains both numbers and strings, JavaScript will convert everything to strings and perform a lexicographical sort, which may not give you the results you expect.
reduce() is a powerful method in JavaScript that allows you to reduce all of the values in an array into a single value. It works by calling a function on each element in the array, from left to right, and reducing the results to a single value.
String interpolation is a process substituting values of variables into placeholders in a string. For example, in JavaScript, you can do this with template literals:
let name = 'Alice';
console.log(`Hello, ${name}!`); // Outputs: Hello, Alice!
You can convert a string to an array in JavaScript using the split() method. For example:
let str = "Hello World";
let arr = str.split(" "); // Outputs: ['Hello', 'World']
To convert an array to a string in JavaScript, you can use the join() method:
let arr = ['Hello', 'World'];
let str = arr.join(" "); // Outputs: "Hello World"
Template literals are string literals that allow embedded expressions. They help with working on strings by allowing you to insert variables and expressions directly into a string using ${...} syntax, and they also support multi-line strings.
Practical Questions on Arrays and Strings in Javascript :
Reverse a string:
function reverseString(str) {
return str.split('').reverse().join('');
}
Return only the even numbers from an array:
function getEvenNumbers(arr) {
return arr.filter(num => num % 2 === 0);
}
Check if an input is an array:
function isArray(input) {
return Array.isArray(input);
}
Check if two strings are anagrams:
function areAnagrams(str1, str2) {
let sortedStr1 = str1.split('').sort().join('');
let sortedStr2 = str2.split('').sort().join('');
return sortedStr1 === sortedStr2;
}
Remove vowels from a string:
function removeVowels(str) {
return str.replace(/[aeiou]/gi, '');
}
Flatten an array:
function flatten(arr) {
return arr.flat(Infinity);
}
Find the most frequent element in an array:
function mostFrequent(arr) {
let counts = {};
let max = 0;
let mostFrequent;
arr.forEach(function(x) {
counts[x] = (counts[x] || 0)+1;
if(counts[x] > max) {
max = counts[x];
mostFrequent = x;
}
});
return mostFrequent;
}
Perform a binary search on a sorted array:
function binarySearch(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (arr[mid] === target) {
return mid;
}
if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
Split a string into an array of words:
function splitIntoWords(str) {
return str.split(' ');
}
Capitalize the first letter of each word:
function capitalizeWords(str) {
return str.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
}
Find the longest string in an array of strings:
function findLongestString(arr) {
return arr.reduce((a, b) => a.length > b.length ? a : b);
}
Reverse the words in a sentence:
function reverseWordsInSentence(str) {
return str.split(' ').map(word => word.split('').reverse().join('')).join(' ');
}
Check if a string is a palindrome:
function isPalindrome(str) {
let reversedStr = str.split('').reverse().join('');
return str === reversedStr;
}
Split a string by a character into an array of strings:
function splitString(str, char) {
return str.split(char);
}
Count the number of occurrences of a value in an array:
function countOccurrences(arr, value) {
return arr.filter(x => x === value).length;
}