2 daliuliu 01 daliuliu_01 于 2017.09.14 11:20 提问

js中数组里有元素但是长度为0

图片说明
图片说明

8个回答

TianGaojie123abc
TianGaojie123abc   2017.09.14 11:40
已采纳

图片说明

q213546879
q213546879   2017.09.14 11:25

你这里ajax得到的data2.root不是数组,是json

q213546879
q213546879   2017.09.14 11:25

对于后端来说,数组就是我们前端所谓的json

u010015007
u010015007   2017.09.14 11:53

你可以吧console放在success里边看结果

fenghui187
fenghui187   2017.09.14 12:24

感觉应该是ajax异步请求的问题,在执行$.ajax之前先执行了console.log语句。也就是说你是先打印了console,然后又进行的push

sunny_desmond
sunny_desmond   Rxr 2017.09.14 13:37

可以的,解决了就好了~~~

Beamon__
Beamon__   2017.09.14 22:50

建议先打印下data2看看

HUSHILIN001
HUSHILIN001   2017.09.15 09:24

首先,你声明的是【】,这说明你声明的是数组,而你最后使用push的时候,由于放进去的是对象,是一个object,而数组在确定长度的时候,他所做的,是将所有的
“下标”转化为string,如果是由数字,如1,2,3的时候,他才会长度加一,所以,你这里有东西,也加进去了,但是下标不是数字,就length为0,
如果你要长度,你可以这么加数据:str[str.length]=a;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
项目常见错误及解决方法-console.log打印数组,数组有元素但长度为0
在项目中,使用restangular,在成功回调函数中,给数组复制,同时,返回给一个数组变量,在函数后面,打印出现: 数组为空,但是点开又有数据,最终找到原因: 因为开始空数组没赋值,赋值之后,因为是地址引用,那个数组已经被修改了。显示零是原来的长度。但包含修改后的结果。换句话说,就是由于restangular异步请求数据,在执行restangular时(由于异步,此时,开始回调函数还
数组中重复的数字(n个数字,且数字都在0到n-1范围内)
思路:从头到尾扫描数组每个数字,当扫描到下标为i的数字m时,首先比较m是不是等于i,如果是,继续扫描;如果不是,再拿m和第m个数字进行比较。如果他们相等,就找到第一个重复数字,如果不相等,交换两者位置。接下来重复上述过程,直到找到第一个重复数字。
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{
class Solution { public:     // Parameters:     //        numbers:     an array of integers     //        length:      the length of array numbers     //        duplication: (Output) the duplicat
在一个长度为n的数组里的所有数字都在1到n-1的范围内。 有一个数字重复若干次,找出这个数字。
一般的方法还是见一个字典保存已经出现的数字,然后判断后面的数字是否出现在字典中。 def get_dup(lst): cnt={} for i in lst: if i in cnt: return i else: cnt[i]=1 节省空间复杂度的方法,利用保存着1~N-1这个条件。具一个
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。
请找出数组中任意一个重复的数字。
去掉数组中的所有0元素
-
[经典面试题][谷歌]一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素
题目一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。思路一寻找重复元素,很容易想到建立哈希表来完成,遍历一遍数组就可以将每个元素映射到哈希表中。如果哈希表中已经存在这个元素则说明这就是个重复元素。这种方法可以很方便的在O(n)时间内完成对重复元素的查找。可是题目要求在O(1)的空间。因此采用哈希表这种解法肯定在空间复杂
剑指offer-面试题51:数组中重复的数字
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字
js一个简单的方法实现数组中元素相加
function sum(arr){ return eval(arr.join('+')); }
去除数组中为零的项
package exercise; /*  * 去除数组中为零的项*/ public class Demo2 {     public static void main(String[] args) {         int oldArray[] = new int[]{1,2,3,4,0,0,0,0,0,5,6,0,7,0,8,0,9};         int newArray[