从现有数组创建数组
create an array from an existing array
我想通过提取其他数组的日期来创建一个数组,然后用逗号将值分隔成一个字符串。
array.push({date:created_at,username:user});
for (i in array) {
var combined=new array();
combined = array[i].date;
}
console.log(combined);
我是javascript的新手,在数组中很难跟上。谢谢有人能给我推荐一本关于javascript的好书吗?
试试这个
var originalArray = [{date:"2012-01-01", username: "first"}, {date:"2012-01-02", username: "second"}];
// First step: Get a dateArray with only the dates
var dateArray = [];
for (var i in originalArray) {
dateArray.push(originalArray[i].date);
}
// Or if you prefer to cut a few lines
// dateArray = originalArray.map(function(x) { return x.date; } );
// Second step: Get it as a comma separated string
var datesString = dateArray.join(",");
console.log(dateArray); // ["2012-01-01","2012-01-02"]
console.log(datesString); // 2012-01-01,2012-01-02
其中一本比较受欢迎的书是Douglas Crockford的《Javascript the Good Parts》http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742
这里是代码:
var firstArray = new Array(new Date(), "hello", "something", new Date());
var combined = new Array();
for(i in firstArray) {
if(firstArray[i] instanceof Date) {
combined[combined.length] = firstArray[i];
}
}
var theString = combined.join(",");
alert(combined.length);
alert(theString);
我个人偏爱Javascript的好部分,但有一个关于编程书籍的完整社区wiki。至于你的问题,如果你想使用字符串,你需要使用字符串而不是数组作为组合变量。
array.push({date:created_at,username:user});
var combined = array.map(function(a) { return a.date; }).join(", ");
当然有更好的方法可以做到这一点,但这只是一个可行的快速例子。通过与字符串连接,它将数组[i].date隐式转换为字符串(如果还没有)。
编辑:修正了我的代码不那么糟糕。
相关文章:
- 从多维嵌套json数组创建下拉列表
- 为对象数组创建列表项
- 如何在cycle js中从JSON数组创建组件
- 使用数据数组创建多个类似组件
- 如何在 Angular JS 中从关联数组创建多个复选框
- 如何为给定数组创建跨度列表
- 如何在javascript中使用2个一维数组创建层次结构树
- 从数据对象数组创建折线图
- 从 javascript 数组创建一个 Jquery 数组
- Angular2从数组创建一个列表
- 使用JavaScript's Reduce从对象数组创建数组
- 如何从数组创建 jqtree
- 从字符串数组创建唯一组合数组
- 反应.js通过数组创建循环
- 从数组创建新元素,直到每秒数组为空
- 如何使用其他流的值数组创建流
- JavaScript:从字节数组创建图像资源
- 使用拆分字符串的数组创建一个对象
- 从一组数据或数组创建对象
- 多维数组 - 创建一个表