如何将二维数组中的某一行,保存为一个一维数组?
array<array<numeric>>A;
array<numeric>B;
arraycopy(A[1],B);

我本想通过这个代码将二维数组转化为几个一维数组,但是用arraycopy无法成功,还是说只能用for循环去一个一个赋值?

二维数组问题
关于二维数组的优化
二维数组排序的例子
关于二维数组的需求
二维数组怎么取其中一列成为一维数组?
关于二维数组的使用
请给一个二维数组按列排序的例子
删除二维数组一个元素后遇到的问题
二维数组问题
帮助文档“二维数组”:指定元素、行、列删除的说明,请再完善一下

A[n]就是一个数组

上面朋友的方法是对的


老师麻烦看下面的评论,二维数组存在空值就无法正常赋值了

另外顺便请问一下老师,在我赋值到一维数组后,如何清除这里面的0值(清楚是否存在0值,以及所在位置),我考虑用ArrayFind+ArrayErase,但只能一个一个删除,如何能够批量删除?

B=A[1] ;

直接等于就可以

好像还是不行,我用textarray打印出来,B是空值


这个赋值是不可能有问题的

如果是空值,那肯定是别的地方出问题了

你打印的时候 A和B都打印看看

				array<array<numeric>> A;
				for i=0 to 20
				{
					for j=0 to 10
					{
						if(i>10 and j==0)
						{
							Continue;
						}else{
							A[i][j]=i+j;
						}
					}
				}
				array<numeric> B;
				B=A[11];
				print(TextArray(A[11])+"  "+TextArray(B));

我知道原因了,我的二维数组在赋值的时候,有几组长度不一样。你可以试试这段代码,就无法成功赋值到B了

咦 这是什么原因呢?

A[11][0],A[12][0],A[13][0].....A[20][0],这几个值没有赋值成功

导致给B赋值,A[0],A[1].....A[10]都可以,从A[11]开始就不可以。

为什么呢?

老师,为什么呢?

    array<array<numeric>> A;
    array<numeric> B;
    
        for i=0 to 20
        {
            for j=0 to 10
            {
                if(i>10 and j==0)
                {
                    print( "A[" +text(i)+"]["+text(j)+"]=空值跳过");
                    Continue;
                }else{
                    A[i][j]=i+j;
                    print( "A[" +text(i)+"]["+text(j)+"]="+text(A[i][j]));
                }
            }
        }
    
        B=A[11]; //A[0],A[1].....A[10]都可以,从A[11]开始就不可以
        print("A= "+TextArray(A));
        print("B= "+TextArray(B));
        print(TextArray(A[11])+" 是否= "+TextArray(B));


🤝是吧,我也很奇怪,@左手TBQ右手智大领峰 老师麻烦看一下👆

现在空缺的是第一个元素 ,B就是空的

我试了一下,如果空缺的是第三个元素,那么0、1、2 都是可以输出出来的

想知道这个机制的原理是什么?是合理的吗?