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


Move array element to variable in JavaScript

我使用 php 创建了一个数组,使用 JSON_parse 将其传送到 JavaScript 中,到目前为止一切顺利。

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

检索数据(从第三行开始)currentVid = jArray[3];不起作用,我对如何进行有点不知所措。

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

顺便说一句,这是代码:

<?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>

currentVid = jArray["video_link", 3];行不能解决问题,但我尝试了很多很多东西。

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

看起来应该是jArray[YOUR_CATEGORY][0].video_link. YOUR_CATEGORY这就是$row['cat']

这是用于访问数组的无效语法。尝试执行类似操作:currentVid = jArray["video_link"][3] 。如果您不确定数据的外观,只需在控制台中打印出来即可。