2018/07/11

Map 與字串的應用

寫程式的時候常常會追求一行處理掉一串事情,會覺得這樣比較優雅,當然還是要視情況而定啦,易讀性跟錯誤處理也是需要考慮的,今天的題目是有一個陣列,如何一行搞定內容加上雙引號並且用逗號組成的字串呢

PHP
<?php

$datas = [
    'xxx@gmail.com',
    'yyy@gmail.com'
];
$string = implode(', ', array_map(function($item) {
    return "'{$item}'";
}, $datas));
echo $string; // 'xxx@gmail.com', 'yyy@gmail.com'
python
# -*- coding: utf-8 -*-

datas = [
    'xxx@gmail.com',
    'yyy@gmail.com'
]

string = ', '.join(["'%s'" % item for item in datas])
print(string) # 'xxx@gmail.com', 'yyy@gmail.com'

string = ', '.join(map(lambda item: "'%s'" % item, datas))
print(string) # 'xxx@gmail.com', 'yyy@gmail.com'
node.js
const datas = [
    'xxx@gmail.com',
    'yyy@gmail.com'
];

string = datas.map(item => `'${item}'`).join(', ')
console.log(string); // 'xxx@gmail.com', 'yyy@gmail.com'

沒有留言: