如何在Javascript中将字符串的每个单词放入数组中?

时间:2016-03-19 22:13:38

标签: javascript arrays string

我有一个像这样的字符串

import UIKit

func ==(lhs: Recipe, rhs: Recipe) -> Bool {
    return lhs.hashValue == rhs.hashValue
}

class Recipe: Hashable {

dynamic var ID : Int = 0
dynamic var recipeName: String = ""
dynamic var recipeDescription:String = ""
dynamic var servings: Int = 0
dynamic var cookTime: Double = 0.0
dynamic var image: String? = ""

var hashValue : Int {
    get {
        return "\(self.ID)".hashValue
    }
}
init?(id: Int, name: String, description: String, servings: Int, cooktime: Double, image: String) {
    self.ID = id
    self.recipeName = name
    self.recipeDescription = description
    self.servings = servings
    self.cookTime = cooktime
    self.image = image

    if id < 0 || name.isEmpty || description.isEmpty || cookTime < 0 || servings < 0 {
        return nil
    }
}
}

如何将其变成数组,以便我可以调用

var user = "henry, bob , jack";

等等。

3 个答案:

答案 0 :(得分:1)

String.prototype.split方法使用分隔符将字符串拆分为字符串数组。您可以用逗号分隔,但随后您的条目可能会有一些空格。

您可以使用String.prototype.trim方法删除该空格。您可以使用Array.prototype.map快速修剪数组中的每个项目。

ES2015:

const users = user.split(',').map(u => u.trim());

ES5:

var users = user.split(',').map(function(u) { return u.trim(); });

答案 1 :(得分:0)

使用字符串的split方法,该方法通过正则表达式分割字符串:

var user = "henry, bob , jack";
var pieces = user.split(/\s*,\s*/);
// pieces[0] will be 'henry', pieces[1] will be 'bob', and so on. 

正则表达式\s*,\s*定义分隔符,它由逗号(\s*)之前的可选空格,逗号后面的逗号和可选空格组成。

答案 2 :(得分:0)

您可以使用String.prototype.split()Array.prototype.map()函数来获取数组。并String.prototype.trim()删除不必要的空格。

&#13;
&#13;
var user = "henry, bob , jack";

user = user.split(',').map(e => e.trim());

document.write(user[0]);
&#13;
&#13;
&#13;