在JS中连接字符串

时间:2017-06-07 16:07:28

标签: javascript string

我有一个数组A和数组B

A = ["1234","5678","4444"]
B = 7868,9090

我希望数组C为:

C = ["1234","5678","4444","7868","9090"]

数组AB的长度可能会有所不同,数组B应该加入数组A的末尾。

这样做的最佳方式是什么?

我尝试使用push(),但我仍然遇到问题。

谢谢。

5 个答案:

答案 0 :(得分:0)

我做了以下工作以获得我需要的结果:

B = JSON.stringify(B);   
A = A.concat(B);     
A = A.replace('][', ',');

答案 1 :(得分:-1)

在我看来

A.concat(B.split(','));

答案 2 :(得分:-1)

您对B = 7868,9090到底是什么意思?这是不正确的JavaScript,并在尝试运行时产生语法错误。

如何生成输出["1234", "5678", "4444", "7868", "9090"]取决于B的实际正确输入值。根据{{​​1}}是整数数组,字符串数组还是逗号分隔字符串,您需要采用不同的方法。

如果B是整数数组

我可以假设你的意思是B,这意味着B是一个整数数组吗?在这种情况下,获得预期结果的最简单方法是:

var B = [7868,9090];

解释

  • var arr3 = arr1.concat(arr2)允许您合并var result = A.concat(B.map(function(x) {return "" + x;})); arr1并将结果输出到arr2
  • var arr2 = arr1.map(f(x))允许您遍历arr3的所有元素x,并将函数arr1的结果输出到f
  • arr2 允许您转换整数值var y = "" + x并将其输出到x

演示

y

另见this Fiddle

如果B是字符串数组

如果var A = ["1234","5678","4444"]; var B = [7868,9090]; var result = A.concat(B.map(function(x) {return "" + x;})); console.log(result);实际上是正确的输入,则不需要var B = ["7868","9090"];var arr2 = arr1.map(f(x))位,您可以这样做:

var y = "" + x

如果B是逗号分隔的字符串

如果var result = A.concat(B); 实际上是正确的输入,则您也不需要var B = "7868,9090";var arr2 = arr1.map(f(x))位,但您需要将var y = "" + x拆分为数组:

B

答案 3 :(得分:-1)

要将数组复制到另一个数组,您可以使用ES6 Spread 语法

public String appendCSV(Map featureset) throws IOException{
  StringBuilder csvReport = new StringBuilder(); 

  Map<String, Integer> map =featureset;
  Set<String> keys = map.keySet();

  String[] lsitofkeys = {};
  boolean isFirst=true;
  for(String elements : keys){
     if(!isFirst){
       csvReport.append(",");
     }
     csvReport.append(elements);
     isFirst=false;
  }

  csvReport.append("\n");

  isFirst=true;
  for(String elements : keys){
     if(!isFirst){
       csvReport.append(",");
     }
   csvReport.append(map.get(elements));
   isFirst=false;
  }

  return csvReport.toString();
}

For, how to use Spread syntax follow this link

正确声明字符串并连接它的方法:

var A = ["1234","5678","4444"];
var B = ["7868","9090"];
var C = [...A, ...B];
console.log(C);
// C will become [1234","5678","4444","7868","9090"];

答案 4 :(得分:-1)

假设B也是一个数组,你可以使用ES6扩展函数:

A = ["1234","5678","4444"];
B = ["7868","9090"];
C = [...A, ...B]

,提供C = ["1234","5678","4444", "7868","9090"]

有关详细信息,请参阅https://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Operators/Spread_operator;有关传播运算符的更多示例,请参阅https://davidwalsh.name/spread-operator