Programming Fundamentals/String Examples JavaScript

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Strings[edit]

// This program demonstrates string functions.

main();

function main()
{
    var str = "Hello";

    output("string: " + str);
    output("string.toLowerCase(): " + str.toLowerCase());
    output("string.toUpperCase(): " + str.toUpperCase());
    output("string.indexOf('e'): " + str.indexOf('e'));
    output("string.length: " + str.length);
    output("string.replace('H', 'j'): " + str.replace('H', 'j'));
    output("string(substring(2,4): " + str.substring(2, 4));
    output("string.trim(): " + str.trim());

    var name = "Bob";
    var value = 123.456;
    output(`string.format(): ${name} earned $${value.toFixed(2)}`);
} 

function output(text) {
  if (typeof document === 'object') {
    document.write(text);
  } 
  else if (typeof console === 'object') {
    console.log(text);
  } 
  else {
    print(text);
  }
}

Output[edit]

string: Hello
string..toLowerCase(): hello
string.toUpperCase(): HELLO
string.indexOf('e'): 1
string.length: 5
string.replace('H', 'j'): jello
string(substring(2,4): ll
string.trim(): Hello
string.format(): Bob earned $123.46

Files[edit]

Note: For security reasons, JavaScript in a browser requires the user to select the file to be processed. This example is based on node.js rather than browser-based JavaScript.

// This program creates a file, adds data to the file, displays the file,
// appends more data to the file, displays the file, and then deletes the file.
// It will not run if the file already exists.

function calculateFahrenheit(celsius) {
    fahrenheit = celsius * 9 / 5 + 32
    return fahrenheit
}

function createFile(filename) {
    var fs = require('fs')

    fs.writeFile(filename, "Celsius,Fahrenheit\n",  function(err) {
        if (err) return console.error(err);
    });

    for(var celsius = 0; celsius <= 50; celsius++) {
        var fahrenheit = calculateFahrenheit(celsius);
        fs.appendFile(filename, celsius.toFixed(1) + "," + 
            fahrenheit.toFixed(1) + "\n", function (err) {
            if (err) {
                return console.error(err);
            }
        });
    }
}

function readFile(filename) {
    var file = require('readline').createInterface( {
      input: require('fs').createReadStream(filename)
    });
    
    file.on('line', function (line) {
        console.log(line);
    });
}

function appendFile(filename) {
    var fs = require('fs')

    for(var celsius = 51; celsius <= 100; celsius++) {
        var fahrenheit = calculateFahrenheit(celsius);
        fs.appendFile(filename, celsius.toFixed(1) + "," + 
            fahrenheit.toFixed(1) + "\n", function (err) {
            if (err) {
                return console.error(err);
            }
        });
    }
}

function deleteFile(filename) {
    var fs = require("fs");

    fs.unlink(filename, function(err) {
        if (err) {
            return console.error(err);
        }
    });
}

function fileExists(filename) {
    var fs = require('fs');
    return fs.existsSync(filename);
}

function main() {
    var filename = "~file.txt";

    if(fileExists(filename)) {
        console.log("File already exists.")
    } else {
        createFile(filename);
        readFile(filename);
        appendFile(filename);
        readFile(filename);
        deleteFile(filename);
    }
}

main();

Output[edit]

Celsius,Fahrenheit
0.0,32.0
1.0,33.8
2.0,35.6
...
98.0,208.4
99.0,210.2
100.0,212.0

References[edit]