微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数组javascript循环错误

如何解决数组javascript循环错误

这是一个简单的问题,但我无法解决。总是当我在数组中做循环时返回索引 0

<script>
            let status = [];
            let number = [];
            let llamadas = [];
            
            llamadas = {!! json_encode($estados) !!}
            
            for(var i=0; i<llamadas.length; i++){
                console.log(llamadas[i][i]);

                status.push(llamadas[i][i].desc);
                number.push(llamadas[i][i].total)
            }

llamadas 它是我的控制器变量,我正在使用 Laravel 5.6 如何后端

llamadas 包含:

(7) [{…},{…},{…}]
0: {id_teleoperadora: 9,desc: "APLAZADA",total: 40}
1: {id_teleoperadora: 9,desc: "AUSENTE",total: 132}
2: {id_teleoperadora: 9,desc: "CONFIRMADA",total: 218}
3: {id_teleoperadora: 9,desc: "NUEVA",total: 101}
4: {id_teleoperadora: 9,desc: "NULA",total: 217}
5: {id_teleoperadora: 9,desc: "PENDIENTE",total: 45}
6: {id_teleoperadora: 9,desc: "VENTA",total: 1}
length: 7
__proto__: Array(0)

和他的原创内容内容没有

[Array(7)]
0: (7) [{…},{…}]
length: 1
__proto__: Array(0)

我从不以这种方式显示一个数组

在推送中,我需要提取 desc 以使用 chart.js 构建静态。现在我只能返回一个状态。我不知道我做错了。当我有 status 我会继续 number 但现在我只能返回一个结果 status "aplazada" 我不知道我是否做得很好我的 pushs

感谢帮助

解决方法

在我的控制器中有错误,应该是:

public function getStateCallCommercial($operadora)
    {

        $callSend = array();

        array_push($callSend,\DB::select(
            \DB::raw("SELECT L.id_teleoperadora,CE.desc,COUNT(C.id) as total
                        FROM LLAMADA L 
                        JOIN CITA C ON L.ID = C.id_llamada 
                        JOIN CITA_ESTADO CE ON C.id_estado = CE.id 
                        WHERE L.id_teleoperadora  = $operadora
                        AND L.id_estado = 5
                        GROUP BY L.id_teleoperadora,CE.desc
                        ORDER BY CE.desc;" ) )
        );
        

        return view('admin.estadisticas.index')->with('estados',$callSend[0]);

这将发送我的数据以供查看。在我的刀片中:

<script>
            let status = [];
            let number = [];
            let llamadas = [];
            
            llamadas = {!! json_encode($estados) !!};
            
            for(var i=0; i<llamadas.length; i++){
                status.push(llamadas[i].desc);
                number.push(llamadas[i].total)
            }            
 
var ctx = document.getElementById('myChart').getContext('2d');
            var myChart = new Chart(ctx,{
                type: 'bar',data: {
                    labels: status,datasets: [{
                        label: 'Estado de las llamadas pasadas a comerciales',data: number,backgroundColor: [
                            'rgba(255,99,132,0.2)','rgba(54,162,235,'rgba(255,206,86,'rgba(75,192,'rgba(153,102,255,159,64,0.2)'
                        ],borderColor: [
                            'rgba(255,1)',1)'
                        ],borderWidth: 1
                    }]
                },options: {
                    scales: {
                        y: {
                            beginAtZero: true
                        }
                    }
                }
            });

我用这个构建我的图形。

感谢大家的回复和帮助

,

var llamadas =[{id_teleoperadora: 9,desc: "APLAZADA",total: 40},{id_teleoperadora: 9,desc: "AUSENTE",total: 132},desc: "CONFIRMADA",total: 218},desc: "NUEVA",total: 101},desc: "NULA",total: 217},desc: "PENDIENTE",total: 45},desc: "VENTA",total: 1}];

/**
if above is your structure you can do this.
*/
 let status = [];
 let number = [];
for(var i=0;i<llamadas.length;i++){
     status.push(llamadas[i].desc);
     number.push(llamadas[i].total);
}
console.log(status);
console.log(number);
console.log("---------seperation-------------------");
/**
if above is your structure like this
[Array(7)]
0: (7) [{…},{…},{…}]
length: 1
__proto__: Array(0)
you can see in array is containing array but always in 0th position.
you can do this.
*/
var d=[llamadas]//this will give you [Array(7)] structure.
var ll=d[0];//this will give you llamadas single dimesion array.
let status2 = [];
let number2 = [];
for(var i=0;i<ll.length;i++){
     status2.push(ll[i].desc);
     number2.push(ll[i].total)
}
console.log(status2);
console.log(number2);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?