将JavaScript数组转换为字符串。

183

我正在尝试遍历一个“value”列表,并将其转换为字符串。以下是代码:

var blkstr = $.each(value, function(idx2,val2) {                    
     var str = idx2 + ":" + val2;
     alert(str);
     return str;
}).get().join(", ");    

alert()函数运行正常并显示正确的值,但是不知何故,jQuery的.get()函数获取的对象类型不正确,导致失败。我做错了什么?


6
“value”是什么?它是一个数组吗?如果是,那么“var str = value.join(', ')”可能会很好地工作。 - StefanS
是的。如果我注释掉 .get() 部分,那么我会得到警告框,显示“id1:val1”,“id2:val2”等。 - Neo
你的意思是“...获取正确的对象类型”吗?(在点击“提问”之前进行快速校对通常是个好主意。)(我删除了早期的评论,因为这个问题比许多其他问题少得多的错别字和错误。) - T.J. Crowder
13个回答

0
我们可以使用以下 JavaScript 方法实现此操作: 使用 join():使用 join() 方法时,我们可以在项和逗号之间提供空格。 使用 toString(): 如果我们使用 join() 方法,则项和逗号之间不会有任何空格。

const array = [1,2,3,4,5]

console.log(array.join(', ')) // '1, 2, 3, 4, 5'

console.log(array.toString()) // '1,2,3,4,5'


-1

这里有一个使用下划线函数的例子。

var exampleArray = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
var finalArray = _.compact(_.pluck(exampleArray,"name")).join(",");

最终输出将是 "moe,larry,curly"。

-1

你不应该混淆数组和列表。

这是一个列表:{...}。它没有长度或其他数组属性。

这是一个数组:[...]。你可以使用数组函数、方法等,就像有人在这里建议的那样:someArray.toString()

someObj.toString(); 不适用于任何其他对象类型,比如列表。


那不是一个“列表”,那是一个对象。例如,使用 { "alpha", 34, { obj: "ect" } } 并不会产生一个“列表”,它会产生(取决于何时何地以及如何使用)语法错误或对象 { obj: "ect" }。而使用 [ "alpha", 34, { obj: "ect" } ] 将会产生一个包含三个项目的数组;一个字符串、一个数字和一个对象,在任何情况下都是如此。 - Heretic Monkey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接