在JavaScript中将数组元素移动到变量

在JavaScript中将数组元素移动到变量,javascript,php,arrays,Javascript,Php,Arrays,我已经使用php创建了一个数组,并使用JSON\u parse将其传输到JavaScript,到目前为止效果良好 问题是,我现在必须从这个JS数组中提取一列,并将其存储在一个简单的字符变量中。这肯定是在Javascript 101中,但我无法让它工作,而且我在任何地方都找不到正确的语法 currentVid=jArray[3]检索数据(这里是第三行)不起作用,我有点不知道如何继续 有人能帮我吗?所以我需要正确的语法将数组元素(比如第三行,第一个元素)复制到变量(char) 以下是代码btw: &

我已经使用php创建了一个数组,并使用
JSON\u parse
将其传输到JavaScript,到目前为止效果良好

问题是,我现在必须从这个JS数组中提取一列,并将其存储在一个简单的字符变量中。这肯定是在Javascript 101中,但我无法让它工作,而且我在任何地方都找不到正确的语法

currentVid=jArray[3]检索数据(这里是第三行)不起作用,我有点不知道如何继续

有人能帮我吗?所以我需要正确的语法将数组元素(比如第三行,第一个元素)复制到变量(char)

以下是代码btw:

<?php

$videoList = [];

$arrayNumber = 0;

$servername = "localhost";
$username   = "PPAUser";
$password   = "password";
$dbname     = "PPADB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT video_link FROM videolinks";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

// output data of each row into internal array 

    while($row = $result->fetch_assoc()) {
        $videoList[$row['cat']][] = array( 
         'video_link' => $row['video_link']);
        }
    }

$conn->close();

?>

<script>
    function setVideoPrev() {

    var currentVid = document.getElementById("iFrame").src;

    var jArray = JSON.parse('<?php echo json_encode($videoList ); ?>');

    currentVid = jArray["video_link", 3];

    document.getElementById("iFrame").src = currentVid;
}
</script>

函数setVideoPrev(){
var currentVid=document.getElementById(“iFrame”).src;
var jArray=JSON.parse(“”);
currentVid=jArray[“视频链接”,3];
document.getElementById(“iFrame”).src=currentVid;
}

currentVid=jArray[“视频链接”,3]不起作用,但我尝试了很多东西。

编辑。根据评论,答案被编辑


看起来应该是
jArray[您的类别][0]。视频链接
您的_类别
$row['cat']

中用于访问数组的无效语法。尝试这样做:
currentVid=jArray[“视频链接”][3]
。如果您不确定数据的外观,请在控制台中打印出来。

谢谢,但我得到“无法读取未定义的属性”3。。。这很奇怪,因为在调试器中我看到:jArray:Object”“:数组[4]0:Object 1:Object 2:Object 3:Object length:4 proto:Array[0]proto:Object看起来像是数组数组。首先尝试访问
jArray[0]
console.log(jArray[0])
它。这让我明白了:未定义索引。php:21未捕获类型错误:无法读取undefinedsetVideoPrev@index的属性“3”。php:21onclick@index.php:165我已经尝试了你的示例,看起来应该是
jArray[你的类别][0]。video\u link
。你的分类是
$row['cat']
谢谢Alex,今晚我会再做一点。到目前为止,它还不能解决问题。创建jArray后进行调试时,我看到以下内容:jArray:Object”“:数组[4]0:Object video\u desc:“Massada-Sageru 2015”video\u id:“1”video\u链接:“video\u type:“URL”proto:Object等等。我不明白为什么会显示“数组”。