I have data like this =
Hi,I,Am,Here,to,BP,23,HP,34,COST,45
I want to get value for BP for HP and For COST so how can I get value next to , .
explaination
const array = [BP,HP,COST]
const string = ["HI","I","AM","BP","20","HP","35","COST","30"]
expected output = Value of BP is 20, Value of HP is 35, Value of COST is 30
CodePudding user response:
Assuming you know the keys to BP, HP and COST (and I am not misunderstanding your question) - you can just 1 the index.
var data = ["Hi", "I", "Am", "Here", "to", "BP", 23, "HP", 34, "COST", 45];
var indexBP = data.indexOf("BP");
var BP = data[indexBP 1]; // BP = 23
CodePudding user response:
const array = ['BP','HP','COST']
const string = ["HI","I","AM","BP","20","HP","35","COST","30"]
let output = "";
array.forEach(x => {
output = `Value of ${x} is ${string[string.indexOf(x) 1]} `
})
console.log(output)
You can have a simple loop and combine with indexOf 1
to get the value you want, assuming the position is predictable
CodePudding user response:
You can try to get index of that key. For example: From your array, the index of BP is 5, the index of next value (23) is 6
From that example, we can have this logic (array
is your name of variable)
const array = ["BP","HP","COST"]
const string = ["HI","I","AM","BP","20","HP","35","COST","30"]
const newArray = []
for (const key of array) {
newArray.push(string[string.indexOf(key) 1])
}
CodePudding user response:
This may be one possible implementation to obtain the Expected Output
.
const strArr = ["HI", "I", "AM", "BP", "20", "HP", "35", "COST", "30"];
console.log(
['BP', 'HP', 'COST']
.map(
k => `Value of ${k} is ${strArr[strArr.indexOf(k) 1]}`
).join(', ')
);
CodePudding user response:
Just plus 1 the index
const array = ['BP', 'HP', 'COST'];
const string = ["HI","I","AM","BP","20","HP","35","COST","30"];
let output = array.map(
k => `Value of ${k} is ${string[string.indexOf(k) 1]}`
).join(', ');
output = '.';
console.log(output);