映射数组,结果字符串由回车符分隔

时间:2016-12-28 22:16:00

标签: javascript arrays

如何从由回车符分隔的嵌套数组中返回字符串?

function list(store) {
    return store.map(function(item) {
    return item.toString();
})}

console.log(list(store))

我尝试了什么。我确定我需要使用加入,但似乎无法确定正确的位置。

  'deli, over roasted turkey, 10.50',// separated by carriage return  \n
  'bakery, sliced sourdough, 8.00'

结果应该如下所示

<g:link mapping="${message(code: 'companies.link')}">

8 个答案:

答案 0 :(得分:1)

看起来你正在寻找Array#join

SELECTs

INSERT IGNORE将数组的所有元素与传递的分隔符连接起来。

答案 1 :(得分:0)

&#13;
&#13;
var store = [
    [ 'deli', 'over roasted turkey', 10.50 ],
    [ 'bakery', 'sliced sourdough', 8.00 ],
]
  
function list(store) {
    return store[0].join(",") + "\n" + store[1].join(",");
}

console.log(list(store));
  
&#13;
&#13;
&#13;

答案 2 :(得分:0)

list功能的正文更改为:

return store.map((item) => {
    return item.toString();
}).join('\n');

答案 3 :(得分:0)

function list(store) {
  return store.map(function(row){return row.join();}).join('\n');
})}

答案 4 :(得分:0)

如果store数组.map()中只有两个元素,则不需要。您可以使用Array.prototype.join()String.prototype.concat()将参数",\n"连接到逗号字符,和换行符,将store的第二个元素与.join(" ")链接起来。

var res = store[0].join(" ").concat(",\n", store[1].join(" "));

答案 5 :(得分:0)

使用ES6,您可以使用template literal

&#13;
&#13;
var store = [['deli', 'over roasted turkey', 10.50], ['bakery', 'sliced sourdough', 8.00]],
    pre = store.map(a => `'${a.join(', ')}'`).join(',\n');
  
document.getElementById('pre').innerHTML = pre;
&#13;
<pre id="pre"></pre>
&#13;
&#13;
&#13;

答案 6 :(得分:0)

您需要通过,加入商店中的每件商品(确保逗号后面有空格),然后按,\n加入每个商品的字符串

&#13;
&#13;
var store = [
  [ 'deli', 'over roasted turkey', 10.50 ],
  [ 'bakery', 'sliced sourdough', 8.00 ],
];
            
function list(store) {
  return store.map(item => item.join(', ')).join(',\n');
}
            
console.log(list(store));
&#13;
&#13;
&#13;

答案 7 :(得分:0)

你的结果有点含糊不清,我想你想要一个只包含两个字符串的数组:

[
  "deli, over roasted turkey, 10.50",
  "bakery, sliced sourdough, 8.00"
]

在做这个问题时,我发现了一些挑战:

  1. 转换数字10.50和8.00并保留两个小数位,您需要fixed()。
  2. 将字符串数组转换为逗号分隔的字符串,您需要join()
  3. 将2x3数组转换为2x1数组,需要map。 (即你保留了原来的数组数量。)
  4. 你的代码非常接近,这是我的回答:

    var store = [
        [ 'deli', 'over roasted turkey', 10.50 ],
        [ 'bakery', 'sliced sourdough', 8.00 ],
    ]
    
    function list(s) {
        return store.map(function(item) {
            return [item[0], item[1], item[2].toFixed(2)].join(", ");
        } )
    }
    
    console.log(list(store));