为 PHP 的 `explode` 和 `implode` 函数寻找 JavaScript 类似物 [重复]

Posted

技术标签:

【中文标题】为 PHP 的 `explode` 和 `implode` 函数寻找 JavaScript 类似物 [重复]【英文标题】:Looking for JavaScript analogues for PHP's `explode` and `implode` functions [duplicate] 【发布时间】:2020-02-03 06:18:00 【问题描述】:

我正在使用 javascript 做一些家庭作业。我需要做一些字符串和数组操作。我已经使用explodeimplode 函数解决了php 中的类似问题。我可以在 JavaScript 中使用类似的东西吗?

这是我的代码示例(针对此问题进行了简化)。我将使用explodeimplode,即使它们在 JS 中不可用:

function getHashtags(str) 
  let words = explode(' ', str);
  let hashtags = [];
  words.forEach((word) => 
    if (word[0] === '#') 
      hashtags.push(word);
    
  );


function generateSentence() 
  let subjects = ['He', 'She', 'John', 'Jane', 'The girl', 'The boy', 'The dog'];
  let verbs = ['ran', 'jumped', 'ate', 'danced', 'played', 'laughed'];
  let adverbs = ['quickly', 'happily', 'merrily', 'slowly'];

  const random = (length) => Math.floor(Math.random()*length);
  let result = [];
  result.push(subjects[random(subjects.length)]);
  result.push(verbs[random(verbs.length)]);
  result.push(adverbs[random(adverbs.length)]);

  return implode(' ', result) + '.';

【问题讨论】:

【参考方案1】:

JavaScript 有 String.splitArray.join 函数。

String.split 很像 php 的爆炸。它需要一个参数:要拆分的字符串分隔符。在您的情况下,您可以将explode 换成split

function getHashtags(str) 
  let words = str.split(' ');
  let hashtags = [];
  words.forEach((word) => 
    if (word[0] === '#') 
      hashtags.push(word);
    
  );

对于 implode,Array.join 非常相似。此函数还采用单个(可选)参数:当数组的每个元素连接在一起时放置在它们之间的字符串。如果省略此参数,则将数组的元素连接在一起,中间没有任何东西。您可以将您对 implode 的呼叫换成 join

但是,我应该指出,您不需要为此使用数组。既然想要的结果是一个字符串,为什么不先使用字符串连接来解决这个问题,而不先使用数组呢?像这样的:

function generateSentence() 
  let subjects = ['He', 'She', 'John', 'Jane', 'The girl', 'The boy', 'The dog'];
  let verbs = ['ran', 'jumped', 'ate', 'danced', 'played', 'laughed'];
  let adverbs = ['quickly', 'happily', 'merrily', 'slowly'];

  const random = (length) => Math.floor(Math.random()*length);
  let result = "";
  result += subjects[random(subjects.length)] + " ";
  result += verbs[random(verbs.length)] + " ";
  result += adverbs[random(adverbs.length)] ".";

  return result;

【讨论】:

以上是关于为 PHP 的 `explode` 和 `implode` 函数寻找 JavaScript 类似物 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP字符串的总结

PHP——explode的应用(获取字符串,拆为下拉列表)

php的explode()和implode()方法

PHP中implode()和explode()

Java相当于Explode和Implode(PHP)[关闭]

PHP中explode和implode的区别