JSFiddle - React, Tailwind, and code Playground

by Oleh Aloshkin

JavaScript

var csv_by_name = compile_csv_search(
    "ip,name,desc\n" +
    "10.49.1.4,server1,Main Server\n" +
    "10.52.5.1,server2,Backup Server\n",
    "name");

function compile_csv_search(text, key_name) {
    var searchBy;
    var removeNewline = text.split("\n");
    var properties = removeNewline[0];
    var propertiesSeparate = properties.split(",");
    for (var i = 0; i <= propertiesSeparate.length; i++) { // Search number of parameter in array (in example "name")
        if (key_name == propertiesSeparate[i]) {
            searchBy = i;
        }
    }
    return function (keyName) { // Return function which splits and return result
        var keyNameArray = [],
            result;
        for (var j = 1; j < removeNewline.length - 1; j++) { // Split lines with data through "," and push it to keyNameArray array
            var split = removeNewline[j].split(",");
            keyNameArray.push(split[searchBy]);
        }
        for (var n = 0; n <= keyNameArray.length; n++) { // Search in keyNameArray array keyName and retury result
            if (keyName == keyNameArray[n]) {
                var currentString = removeNewline[n + 1].split(",");
                for (var m = 0; m < propertiesSeparate.length; m++) { //
                    var currentProperty = propertiesSeparate[m] + ": '" + currentString[m] + "'";
                    if (result === undefined) {
                        result = currentProperty;
                    } else {
                        result += ", " + currentProperty;
                    }
                }
            }
        }
        return result;
    };
}

alert(csv_by_name("server2"));
alert(csv_by_name("server9"));