Skip to main content
deleted 1 character in body; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Search module in javascriptJavaScript

I implemented search module, but I'm a novice in programming and I'm not sure about public and private functions that I coded. Did I do it right?

Search module in javascript

I implemented search module, but I'm novice in programming and I'm not sure about public and private functions that I coded. Did I do right?

Search module in JavaScript

I implemented search module, but I'm a novice in programming and I'm not sure about public and private functions that I coded. Did I do it right?

Source Link

Search module in javascript

I implemented search module, but I'm novice in programming and I'm not sure about public and private functions that I coded. Did I do right?

var data = require('./data');


function My_module(string) {
    var data_size_ = data.length;

    /**
     * @param {Array.<Object>} data.
     * @return {Array.<Object>} result.
     */

    var reformat_ = function() {
        var result = new Array(data_size_);

        var first_name;
        var last_name;
        var domain;

        for (var i = 0; i < data_size_; ++i) {
            first_name = data[i].first_name.toLowerCase();
            last_name = data[i].last_name.toLowerCase();
            domain = data[i].domain.toLowerCase();

            result[i] = {
                'first_name': first_name,
                'last_name': last_name,
                'domain': domain,
            };
        }

        return result;
    };

    var formatted_data_ = reformat_();



    /**
     * A search function.
     * @return {Array.<Object>} Result
     */

    this.search = function(string) {
        var result = [];
        var len = string.length;

        for (var i = 0; i < data_size_; ++i) {
            if (formatted_data_[i].first_name.slice(0, len) === string ||
                formatted_data_[i].last_name.slice(0, len) === string ||
                formatted_data_[i].domain.slice(0, len) === string) {
                result.push(formatted_data_[i]);
            }
        }

        if (result) {
            return result;
        }
    }

}


module.exports = My_module;