Home > Software design >  How to get next value (after , value)
How to get next value (after , value)

Time:03-04

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);

  • Related