小孩下半夜咳嗽是什么原因| 咬肌疼是什么原因| 大心脏是什么意思| 清谷天指的是什么| 7月13号是什么星座| 梦见跟妈妈吵架是什么意思| 身心合一是什么意思| 人性是什么意思| 什么的香味| 当演员有什么要求| 梦到自己怀孕了是什么预兆| 发际线高的人说明什么| 耳垂后面疼是什么原因| 备皮是什么意思| 打三个喷嚏代表什么| 松解手术是什么| 女性朋友生日送什么礼物好| 恩施玉露属于什么茶| 为什么无缘无故流鼻血| 胃溃疡吃什么水果好| 伊字五行属什么| 清宫是什么意思| 夏天适合用什么护肤品| 体制内是什么意思| 民营企业和私营企业有什么区别| 禁欲有什么好处| 血清载脂蛋白b偏高是什么意思| 阴道瘙痒用什么药| 宫颈糜烂用什么药比较好| 结膜炎挂什么科| 今年什么生肖年| 海蜇是什么动物| ca724是什么意思| 补肾气吃什么药| 食管裂孔疝是什么意思| 7月23是什么星座| 鉴黄师是什么职业| 水逆退散是什么意思| 虱目鱼在大陆叫什么| 铁锈是什么颜色的| 肝胆相照是什么意思| 什么竹子| 花代表什么数字| 什么药治便秘最好最快| 项羽是什么生肖| 每天流鼻血是什么原因| 多动症看什么科室| hm是什么牌子的衣服| 驴血为什么是白色的| 黑壳虾吃什么| 女的排卵期一般是什么时间| 精液偏黄是什么原因| gm是什么| 淋巴结看什么科| 伊朗是什么教派| 4.11是什么星座| 手机卡顿是什么原因| 经常感冒发烧是什么原因| 9月3号什么日子| 性生活是什么意思| 为什么会湿疹| 甲亢不能吃什么| 淋巴细胞百分比低说明什么问题| 为什么睡觉后鱼刺没了| 男人高冷是什么意思啊| 误食干燥剂有什么危害| 举头三尺有神明是什么意思| 脚掉皮是什么原因| 磨砂膏是什么| 殁年是什么意思| 奶茶里面的珍珠是什么做的| 十月30号是什么星座| 道士是干什么的| 壁挂式空调什么牌子好| 房性早搏吃什么药最好| 情绪不稳定易怒烦躁是什么症状| 扑尔敏又叫什么| 附件炎是什么原因引起的| 艾灸后痒是什么原因| 红鸾是什么意思| 备孕叶酸什么时候吃最好| 皮肤一碰就红是什么原因| 坐月子能吃什么水果| 只羡鸳鸯不羡仙是什么意思| 凌晨十二点是什么时辰| 执业药师什么时候考试| 爆菊什么意思| 出家人不打诳语是什么意思| 月寸读什么| 猫藓是什么| 神经性皮炎用什么药膏| 还记得年少时的梦吗是什么歌| 总监是什么级别| 乙型肝炎表面抗体阳性是什么意思| 梦是什么| 人体有365个什么| 清款是什么意思| pcr检测是什么| 男性阴囊瘙痒用什么药膏| 儿童咽峡炎吃什么药| 放屁特别多是什么原因| 雁过拔毛是什么意思| 老做梦是什么原因| 超敏crp是什么意思| 毛是什么意思| 头晕出虚汗是什么原因引起的| 冷敷眼睛有什么好处| 手脚发胀是什么前兆| 备货是什么意思| 1974属什么生肖| 热量是什么| 晨起嘴苦是什么原因| 湿气重吃什么药最有效| 孕妇吃山竹对胎儿有什么好处| 2009年五行属什么| 全品类是什么意思| 什么是寓言| 什么叫石女| 什么样的男人值得托付终身| 脸上过敏用什么药膏| 什么行业最赚钱| 红细胞计数偏低是什么意思| 房颤什么意思| 什么叫几何图形| ojbk是什么意思| 山什么水什么| 夏天脚底冰凉是什么原因| 线上考试是什么意思| 矫正视力是指什么| 奶奶的奶奶叫什么| 10周年结婚是什么婚| 送荷花的寓意是什么| 胆结石吃什么好| 朝对什么| 查询电话号码拨打什么| 甲状腺是什么科| 孕妇吃什么好| 什么然泪下| 没有子宫会有什么影响| 肺气泡吃什么药| nba季后赛什么时候开始| 什么可以代替人体润滑油| 多囊吃什么药| 牙龈萎缩用什么牙膏| 为什么睡觉会打呼噜| 天牛长什么样子| 月可以加什么偏旁| 胃难受吃什么食物好| 怀孕初期要注意什么| 什么夕阳| 胆汁酸是什么| 小猫的耳朵像什么| 糖尿病吃什么水果最好| 生意兴隆是什么意思| 抑制素b检测是什么意思| 落子是什么意思| 高铁座位为什么没有e| 什么大叫| 属相是什么意思| 人发胖的原因是什么引起的| 驴打滚是什么| 什么病不能吃空心菜| 老爷是什么意思| 脾胃虚吃什么调理| pass是什么意思| 忽冷忽热是什么症状| 两个虎念什么| 经常晕倒是什么原因引起的| 茜是什么意思| 梦见捡到钱是什么意思| 肠炎能吃什么食物| 查激素水平挂什么科| 吃什么解辣最快方法| 嗑药是什么意思| 眼睛斜视是什么原因| 检查脂肪肝做什么检查| 乙肝两对半15阳性是什么意思| 梦见掉了一颗牙齿是什么征兆| 一心一意什么意思| 朦胧是什么意思| 检查胃镜需要提前做什么准备| 公务员是做什么工作的| 月经周期短是什么原因| 什么是手机号| 胃癌手术后吃什么补品| 什么牌子的保温杯好| 核磁共振是查什么的| 3月21号是什么星座| 走仕途是什么意思| 孕妇吃什么补铁| kobe是什么意思| 为什么男人喜欢邓文迪| 蟾酥是什么| 腰间盘突出吃什么药| 口苦吃什么好得快| 什么是红斑狼疮病| 浙大校长什么级别| 女性真菌感染是什么原因造成的| 胸部疼痛挂什么科| 左手大拇指麻木是什么原因| 痛风是什么原因| 六味地黄丸什么牌子好| 坐以待毙是什么意思| 甲苯是什么东西| 艾灸痒痒的是什么原因| 西安有什么玩的| 扒皮鱼是什么鱼| 书中自有颜如玉什么意思| 口腔溃疡缺乏什么维生素| 突然头疼是什么原因| 参加追悼会穿什么衣服| 全套什么意思| 厍是什么意思| 男性吃什么可以壮阳| 吃什么会变黑| 轴位什么意思| paw是什么意思| 桑葚什么时候成熟| 肾阳虚吃什么中药| 长期胃胀气什么原因| 血压低吃什么东西好| 口腔苔藓用什么药| 异位胰腺是什么意思| 血管瘪是什么原因| 恶心想吐胃不舒服是什么原因| 莲子不能和什么一起吃| 营养性贫血是什么意思| 月经推迟量少是什么原因| 地龙是什么生肖| 自食其力是什么意思| 奇异果和猕猴桃有什么区别| 59年属什么| 碳酸钠俗称什么| 三个马读什么| 因果是什么意思| 腹膜炎吃什么药| 红烧肉是什么菜系| 女人吃莲藕有什么好处| 因材施教什么意思| 意志力是什么意思| 瓜子脸适合剪什么发型| 一个大一个多念什么| 关税什么意思| 医联体是什么意思| 肝火旺盛喝什么茶| 喜欢趴着睡是什么原因| 外阴溃烂用什么药| 什么是情商| 窦性心动过速是什么原因| 梦见捡到很多钱是什么意思| 煤气是什么味道| 病毒性感冒发烧吃什么药| seeyou是什么意思| 鱼石是什么| 食管炎是什么原因引起的| 试管婴儿长方案是什么| 糖耐量是什么| 射手座是什么象| 乳房里面有硬块是什么原因| 得宫颈癌的前兆是什么| 镜架什么材质好| 盆腔炎有什么明显症状| 塑料袋属于什么垃圾| 秋天穿什么| 百度Jump to content

新浪爱拍周选美图类作品2018.3.12-3.18

From Wikiversity

arrays.js

[edit | edit source]
百度 奥运会就是竞技,是赛场上你争我夺,开赛之后,我相信更多的体育迷会关注谁能超越菲尔普斯,谁能打败博尔特,哪个国家的金牌数量将是第一……这些都是体育本身的内容,这才应该会成为奥运会的主题。
/* """This program demonstrates file, list, and tuple processing.

It creates a temporary file, adds data to the file, and reads the file
into an array of arrays. It then provides a menu of options for displaying 
and searching the file data.

It will not run if the file already exists.

Input:
    None

Output:
    A temporary file and file contents.

References:

*/

const fs = require("fs");

if (typeof module != "undefined" && !module.parent) {
    main();
}

/**
  * Runs the main program logic.
  */
function main()
{
    let filename = "~temperatures.txt";

    if(fileExists(filename))
    {
        console.log(`File already exists: ${filename}`)
        process.exit(1)
    }

    createFile(filename);
    let temperatures = readFile(filename);
    deleteFile(filename);

    while (true) {
        let choice = getChoice();
        switch (choice) {
            case "1":
                displayTemperatures(temperatures, "Celsius")
                break;
            case "2":
                displayTemperatures(temperatures, "Fahrenheit")
                break;
            case "3":
                searchTemperatures(temperatures, "Celsius")
                break;
            case "4":
                searchTemperatures(temperatures, "Fahrenheit")
                break
            default:
                return;
        }    
    }
}

/**
 * Creates a text file.
 * 
 * @param Text filename to create.
 */
function createFile(filename)
{
    let data = '"C","F"\n';
    for(let celsius = 0; celsius <= 100; celsius += 10)
    {
        let fahrenheit = celsius * 9 / 5 + 32;
        data += `${celsius.toFixed(1)},${fahrenheit.toFixed(1)}\n`;
    }

    try {
        fs.writeFileSync(filename, data);
    } catch (error) {
        console.error(error);
    }
}

/**
 * Reads a text file.
 * 
 * File must be formatted as CSV with:
 * "C","F"
 * number,number
 * 
 * @param Text filename to read
 * @returns array of arrays
 * @throws RangeError if file format is invalid
 */
function readFile(filename)
{
    try {
        let data = fs.readFileSync(filename, "utf-8");
        let lines = data.trim().split("\n");
        
        let header = lines[0];
        if (header != '"C","F"') {
            throw new RangeError(`Invalid header format found in ${filename}: ${header}`)
        }

        lines.shift();
        let temperatures = [];
        for(const line of lines) {
            let row = line.split(",");
            if (row.length != 2 || isNaN(row[0]) || isNaN(row[1])) {
                throw new RangeError(`Invalid data format found in ${filename}: ${row}`)
            }

            row[0] = Number(row[0]);
            row[1] = Number(row[1]);
            temperatures.push(row);
        }

        return temperatures;
    } catch (error) {
        console.error(error);
        process.exit(2)
    }
}

/**
 * Deletes a file.
 * 
 * @param Text filename to delete.
 */
function deleteFile(filename)
{
    try {
        fs.unlinkSync(filename);
    } catch (error) {
        console.error(error);
    }
}

/**
 * Checks to see if a file exists.
 * 
 * @param Text filename to check.
 * @returns true if exists or false if not.
 */
function fileExists(filename)
{
    return fs.existsSync(filename);
}

/**
 * Input function to get input in Node environment.
 * 
 * @param {string} text prompt
 * @returns {string} input
 */
 function prompt(text) {
    const rls = require('readline-sync');
    let value = rls.question(text);
    return value;
}

/**
 * Displays menu and gets user choice.
 * 
 * @returns text choice or empty string.
 */
function getChoice() {
    const menu = "Select from the following options or press <Enter> to quit:\n" +
        "1. Display table sorted by Celsius temperature.\n" +
        "2. Display table sorted by Fahrenheit temperature.\n" +
        "3. Search for Celsius temperaturen.\n" +
        "4. Search for Fahrenheit temperature.\n";

    while (true) {
        console.log(menu);
        let choice = prompt("Enter choice: ");
        console.log("");
        if (choice === "") {
            return choice;
        }

        if (choice.length == 1 && "1234".includes(choice)) {
            return choice;
        }

        console.log(`${choice} is not a valid choice.\n`);        
    }
}

/**
 * Displays temperature array.
 * 
 * @param array temperatures.
 * @param scale "Celsius" or "Fahrenheit"
 * @throws RangeError if scale is invalid
 */
function displayTemperatures(temperatures, scale) {
    let firstColumn = undefined;
    let secondColumn = undefined;

    switch (scale) {
        case "Celsius":
            temperatures.sort(compareCelsius);
            console.log("C\tF");
            firstColumn = 0;
            secondColumn = 1;
            break;
        case "Fahrenheit":
            console.log("F\tC");
            firstColumn = 1;
            secondColumn = 0;
            break;
        default:
            throw new RangeError("Scale must be Celsius or Fahrenheit");
    }

    for(const row of temperatures) {
        console.log(`${row[firstColumn]}\t${row[secondColumn]}`);
    }

    console.log("");
}

/**
 * Get temperature to search for.
 * 
 * @param scale "Celsius" or "Fahrenheit"
 * @throws RangeError if scale is invalid
 * @returns Number or empty string
 */
function getTemperature(scale) {
    if (!["Celsius", "Fahrenheit"].includes(scale)) {
        throw new RangeError("Scale must be Celsius or Fahrenheit");
    }

    let temperature = prompt(`Enter ${scale} temperature: `);
    if (temperature == "") {
        return temperature;
    }

    if (isNaN(temperature)) {
        return "";
    }

    return Number(temperature);
}

/**
 * Searches temperature array to display nearest values.
 * 
 * @param array temperatures
 * @param scale "Celsius" or "Fahrenheit"
 * @throws RangeError if scale is invalid
 */
function searchTemperatures(temperatures, scale) {
    let searchElement = undefined;
    let displayElement = undefined;
    let otherScale = undefined;

    switch (scale) {
        case "Celsius":
            temperatures.sort(compareCelsius);
            searchElement = 0;
            displayElement = 1;
            otherScale = "Fahrenheit";
            break;
        case "Fahrenheit":
            temperatures.sort(compareFahrenheit);
            searchElement = 1;
            displayElement = 0;
            otherScale = "Celsius";
            break;
        default:
            throw new RangeError("Scale must be Celsius or Fahrenheit");
    }

    let temperature = getTemperature(scale);
    if (temperature === "") {
        return;
    }

    let last = temperatures[0];
    let row = undefined;
    for (row of temperatures) {
        if (temperature < row[searchElement]) {
            break;
        }
        last = row;
    }

    if (temperature < last[searchElement]) {
        console.log(`${temperature.toFixed(1)} ${scale} ` + 
            `is less than ${last[displayElement].toFixed(1)} ${otherScale}\n`)
    } else if (temperature == last[searchElement]) {
        console.log(`${temperature.toFixed(1)} ${scale} ` + 
            `is ${last[displayElement].toFixed(1)} ${otherScale}\n`)
    } else if (temperature > row[searchElement]) {
        console.log(`${temperature.toFixed(1)} ${scale} ` + 
            `is greater than ${last[displayElement].toFixed(1)} ${otherScale}\n`)
    } else {
        console.log(`${temperature.toFixed(1)} ${scale} ` + 
            `is between ${last[displayElement].toFixed(1)} ${otherScale} ` +
            `and ${row[displayElement].toFixed(1)} ${otherScale}\n`)
    }
}

/**
 * Compare temperature array elements for sort by Celsius.
 * 
 * @param a temperature element
 * @param b temperature element
 * @returns a - b
 */
function compareCelsius(a, b) {
    return Number(a[0]) - Number(b[0]);
}

/**
 * Compare temperature array elements for sort by Fahrenheit.
 * 
 * @param a temperature element
 * @param b temperature element
 * @returns a - b
 */
 function compareFahrenheit(a, b) {
    return Number(a[1]) - Number(b[1]);
}

Try It

[edit | edit source]

Copy and paste the code above into one of the following free online development environments or use your own JavaScript compiler / interpreter / IDE.

See Also

[edit | edit source]
梦见自己在飞是什么征兆 嘴唇干裂脱皮是什么原因 asd什么意思 茉莉花长什么样 什么是初心
自来卷的头发适合什么发型 吃什么睡眠好的最快最有效 巧克力囊肿是什么意思 梅毒螺旋体抗体是什么意思 低烧吃什么药好
身无什么 吃什么养肝 节食是什么意思 什么的母鸡 看见老鼠有什么预兆
甲状腺钙化是什么意思 晚上看见刺猬预示什么 肝胆相照是什么生肖 无私是什么意思 胚芽米是什么米
梦见妖魔鬼怪是什么意思hcv9jop2ns1r.cn 请人原谅说什么ff14chat.com 受割礼是什么意思hanqikai.com 肺结核的痰是什么颜色hcv9jop1ns6r.cn 恋爱是什么liaochangning.com
轻度脑萎缩是什么意思hcv8jop1ns6r.cn 女命带驿马是什么意思adwl56.com 胃溃疡吃什么hcv8jop4ns9r.cn yp什么意思hcv8jop2ns7r.cn 什么鱼适合清蒸hcv9jop2ns8r.cn
蓝莓是什么味道hcv9jop6ns2r.cn 刺梨什么时候成熟hcv8jop7ns4r.cn 子宫内膜薄吃什么hcv7jop5ns1r.cn dvt是什么意思mmeoe.com 有什么办法hcv9jop5ns9r.cn
织物是什么材质hcv9jop1ns0r.cn 繁花似锦是什么意思hcv9jop3ns8r.cn 酸菜鱼什么鱼最好hcv9jop1ns3r.cn 肛门松弛是什么原因hcv8jop7ns1r.cn 小儿疳积是什么症状hcv9jop2ns8r.cn
百度