Objects
const p = {
p1: 'value1',
p2: 'value2',
p3: 'value3',
};
for (const [key, value] of Object.entries(p)) {
console.log(`${key}: ${value}`);
}
const propertyNames = Object.keys(person);
const propertyValues = Object.values(person);
const entries = Object.entries(person);
https://www.javascripttutorial.net/object/convert-an-object-to-an-array-in-javascript/
Find matches from one object to another
function killer(suspectInfo, dead) {
for (let [key, value] of Object.entries(suspectInfo)) {
if (value.includes(...dead)) {
return key;
}
}
}
function killer(suspectInfo, dead) {
return Object.keys(suspectInfo).find((x) =>
dead.every((y) => suspectInfo[x].includes(y))
);
}
https://www.codewars.com/kata/5f709c8fb0d88300292a7a9d/solutions/javascript
let array1 = [1, 2, 3],
array2 = [1, 2, 3, 4],
array3 = [1, 2];
let checker = (arr, target) => target.every((v) => arr.includes(v));
console.log(checker(array2, array1)); // true
console.log(checker(array3, array1)); // false
https://stackoverflow.com/questions/53606337/check-if-array-contains-all-elements-of-another-array
function combine(...obj) {
const arrays = obj;
let finalObject = {};
for (let i = 0; i < arrays.length; i++) {
for (let [key, value] of Object.entries(arrays[i])) {
if (!(key in finalObject)) {
finalObject[key] = value;
} else {
finalObject[key] = finalObject[key] + value;
}
}
}
return finalObject;
}
Array Of Objects
function colourAssociation(array) {
let res = [];
for (let i = 0; i < array.length; i++) {
// res[array[i][0]] = array[i][1];
let obj = {};
//console.log(array[i][0]);
obj[array[i][0]] = array[i][1];
res.push(obj);
}
console.log(res);
return res;
}
Real shitty sort objects by key
function sentence(input) {
let arrayOfNums = [];
for (let k = 0; k < input.length; k++) {
for (let [key, value] of Object.entries(input[k])) {
arrayOfNums.push(key);
}
}
arrayOfNums.sort(function (a, b) {
return a - b;
});
let res = '';
for (let m = 0; m < arrayOfNums.length; m++) {
for (const [key, value] of Object.entries(input)) {
if (Object.keys(value) == arrayOfNums[m]) {
res = res + ' ' + value[arrayOfNums[m]];
}
}
}
return res.trim();
}
same ???
const sentence = (list) =>
list
.sort((a, b) => Object.keys(a)[0] - Object.keys(b)[0])
.map((item) => Object.values(item)[0])
.join(' ');
Sort object by value
const Test = require('@codewars/test-compat');
describe('myLanguages', function () {
it('Fixed tests', function () {
Test.assertDeepEquals(myLanguages({ Java: 10, Ruby: 80, Python: 65 }), [
'Ruby',
'Python',
]);
Test.assertDeepEquals(myLanguages({ Hindi: 60, Greek: 71, Dutch: 93 }), [
'Dutch',
'Greek',
'Hindi',
]);
Test.assertDeepEquals(myLanguages({ 'C++': 50, ASM: 10, Haskell: 20 }), []);
});
});
function myLanguages(results) {
let sortable = [];
for (var vehicle in results) {
sortable.push([vehicle, results[vehicle]]);
}
const res = sortable.sort(function (a, b) {
//return a[1] - b[1];
return b[1] - a[1];
});
return res;
}