
JavaScript没有函数可以直接获取数组的某一列。
这个你只能用for语句循环遍历了。
要把数组的长度缓存到一个变量(len)里面,这样能更好的提升代码性能。
var arr = [{
id: 1,
riqi: '2017-11-13'
},
{
id: 2,
riqi: '2017-11-14'
},
{
id: 3,
riqi: '2017-11-15'
},
],
// 缓存数组长度,进一步提升代码性能
len = arrlength,
result = [];
for (var i = 0; i < len; i++) {
result[i] = arr[i]['riqi']
};
consolelog(result);
感觉还是有点复杂,可用。可加双引号。
<!DOCTYPE html><html>
<head>
<meta ;
重新放下JS,好难看
function tabToJSON(id) {var trs = documentgetElementById(id)getElementsByTagName("tr");//获得tr数组
var titles = trs[0]getElementsByTagName("td"); //获得表头td数组
var json = "";
for(var i = 1; i < trslength; i++) {
var tds = trs[i]getElementsByTagName("td");
json += "{";
//拼装json
for(var j = 0; j < tdslength; j++)
json += titles[j]innerHTML + ":" + tds[j]innerHTML + ",";
json = jsonsubstring(0, jsonlength - 1) + "},";
}
json = "[" + jsonsubstring(0, jsonlength - 1) + "]";
documentgetElementById("test")innerHTML = json;
}
function tabToJSONForJquery(id) {
var titles = $("#" + id)find("tr:first td"); //获得表头td数组
//遍历非表头的,tr、td拼装json
var json = "[" + $("#" + id)find("tr:not(:first)")map(function(i, e) {
return "{" + $(e)children("td")map(function(j, el) {
return $(titles[j])html() + ":" + $(el)html();
})get()join(",") + "}";
})get()join(",") + "]";
$("#test")html(json);
}
完全搞不懂你想做什么
首先,你的概念完全搞错了,这里跟JSON没有任何关系,你定义的这个data变量,是使用字面量表示法定义了一个对象,并且赋予了一些属性。这个过程和结果跟JSON没有任何关系。JSON只是一种文本格式,你这里并没有用到,基础概念要搞清楚。
其次,你这里定义的data并没有text这个属性,所以你datatext当然不会访问到任何数据
如果你的想法是,获取#text中的值,以其作为键,输出data对象中的值,那样该这么做
var text=documentgetElementById("text")value;var datas=data[text];
用[]可以使用变量字面量
以上就是关于JS获得JSON数组其中的一列方法。全部的内容,包括:JS获得JSON数组其中的一列方法。、如何通过js获取当前页面的数据并组合成json字符串、js通过变量获得json数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)