js 二维数组 字符串键名 初始化

本文介绍了在JavaScript中初始化二维数组及处理字符串键名的问题,特别是当遇到Ajax传递数据时的注意事项。一维数组可以使用数字或字符串作为键名,但二维数组不支持字符串键名。在Ajax传输时,js数组应使用数字键名,若需用字符串,需转换为对象形式。例如:`data = {'a': {'id': 1, 'url': 'h'}}`。" 98513005,8669529,Linux环境下使用TL-WDN5200H无线USB网卡,"['Linux', '嵌入式', '运维']

这两天做项目时,要通过js传递一个带有字符串键名的二维数组,可是传递到后台,却得到了false,使用了很多种方法都不行,今天特地来介绍一下:js  数组初始化问题;

以及Ajax下传递带有字符串键名的数组如何操作

一维数组

一维数组可以使用数字,字符串做建名。

var   data = [];//不知道个数

var    data = new Array(); //不知道个数

如果知道个数,具体数值可以用:

var    data = new Array(1);

data['a'] = 'a';

或者

var  data= ['a'];


二维数组:

二维数组不支持字符串键名。

一:

var  data = [];

data.push(['a']);

var data_1  = ['a'];

data[0]=data_1;

二:

var data=new Array();
for(var i=0;i<2;i++){
data[i]=new Array(); 
for(var j=0;j<2;j++){
data[i][j]=1;
}

提醒:

在使用Ajax传递数据时,js数组必须是数字键名。

如果要使用字符串做建名,要通过对象的形式:如下:

var data ={
'a':{'id':1,'url':h}

};






### 如何定义和使用字符串二维数组 #### 定义字符串二维数组 在C语言中,字符串本质上是一个以 `\0` 结束的一维字符数组。因此,字符串二维数组可以看作是由多个一维字符数组组成的集合。其定义形式如下: ```c char array_name[number_of_strings][maximum_length]; ``` 其中 `number_of_strings` 表示该二维数组能容纳多少个字符串,而 `maximum_length` 则表示每个字符串的最大长度(包括结束符 `\0`)。这种定义方式允许我们创建一个固定大小的二维数组来存储多个字符串[^1]。 例如: ```c char strArray[5][20]; // 可以存储最多5个字符串,每个字符串最长为19个字符加1个'\0' ``` #### 初始化字符串二维数组 可以通过以下几种方法对字符串二维数组进行初始化: 1. **逐行赋值** 如果需要手动指定每一个字符串的内容,则可以在声明的同时通过大括号 `{}` 来完成初始化工作。 ```c char names[3][20] = { {"Alice"}, {"Bob"}, {"Charlie"} }; ``` 2. **整体赋值** 当所有数据都已知时,也可以一次性写入全部初始值。 ```c char fruits[4][10] = {"Apple", "Banana", "Cherry", "Date"}; ``` 注意,在上述两种情况下,编译器会自动添加每条记录后的终止标志`\0`[^4]。 #### 访问字符串二维数组中的元素 访问某个特定位置上的子串或者单个字符非常简单,只需按照标准索引规则操作即可。比如要获取第一个字符串的第一个字母,可写作`strArray[0][0]`; 若要打印整个第一条消息则应采用循环遍历直到遇到NULL为止: ```c for(int i=0; i<strlen(strArray[0]); ++i){ printf("%c", strArray[0][i]); } printf("\n"); ``` 另外一种更简洁的方式就是利用库函数puts()直接输出整行文字而不必关心内部细节: ```c puts(strArray[0]); ``` #### 示例代码展示 这里给出一段完整的示范程序用来演示如何定义、初始化并读取一个简单的字符串二维数组实例. ```c #include <stdio.h> #include <string.h> int main(){ /* Define and initialize string two-dimensional array */ char languages[4][15]={ "Python", "Java", "JavaScript", "C++" }; /* Print each language name from the array */ for(int i=0;i<4;i++){ puts(languages[i]); } return 0; } ``` 此段脚本首先建立了名为languages的四乘十五规格之字元矩阵,并赋予它四个不同编程语种的名字作为预设资料;接着运用FOR回圈逐一提取这些项目并通过PUTS命令显示出来[^5].
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值